字节流和字符流

字符流和字节流的应用场景;

https://blog.csdn.net/qq_42764468/article/details/103666443

电脑中底层操作的都是字节。

字节流:读写的数据都不需要转化成字符的时候,使用字节流。比如,图片,视频,音频。

字符流:读写字符数据时候,使用字符流。比如:文本这类。(当然文本也可以使用字节流)。

 

字符流和字节流读写文件关于编码的问题。

 https://www.cnblogs.com/java-lzh/articles/7606584.html

 

 

缓冲区问题:

字节流不需要经过缓冲区,,直接操作文本。字符流需要经过缓冲区(内存),再操作文本。

 

什么是缓冲区?有什么作用?

答:缓冲区就是一段特殊的内存区域,很多情况下当程序需要频繁地操作一个资源(如文件或数据库)则性能会很低,所以为了提升性能就可以将一部分数据暂时读写到缓存区,以后直接从此区域中读写数据即可,这样就显著提升了性能。对于 Java 字符流的操作都是在缓冲区操作的,所以如果我们想在字符流操作中主动将缓冲区刷新到文件则可以使用 flush() 方法操作。

 

问:为什么对于字符流中都有flush方法,但是字节流中没有?
字节流的操作不会经过缓冲区(内存)而是直接操作文本本身的,而字符流的操作会先经过缓冲区(内存)然后通过缓冲区再操作文件。

 

关于缓冲区的问题:

https://blog.csdn.net/qq_36494506/article/details/78188236

 

posted @ 2020-07-17 15:43  远方的人111  阅读(174)  评论(0)    收藏  举报