JAVA IO流中的字节流字符流的适用场合区别

什么时候该时候字节流什么时候该使用字符流,数字,中文,图片读写时候各使用哪个好,常用的又哪些流? 求大神指教

这个不是很清晰么,如果是和文本处理有关系的就用字符流,因为读取的最小单位不一样,字符流方便处理字符, 如果是其他的比如说音频视频图片等等文件的,和字符没有关系了,就用字节流,一个BYTE一个BYTE的来,不能更清晰了。我估计你应该是IO整个框架不是很熟悉。追问

是的,整个IO没有仔细去研究,看到各种例子有用字符有用字节流的,感觉分不清了。看到很多代码都喜欢用缓冲流,这个是不是更好用呢

追答

用缓冲流有两个好处:1)减少硬盘的IO。性能提高N个数量级。 2)文件太大,边读边写硬盘控制内存使用大小。 3) 所有NIO的框架都用到了缓冲流的处理、直接映射物理内存等等,这个有兴趣可以去看一下,减少一次虚拟机的BUFFER拷贝,提高性能。
记得有一点小心就是写出去之前,BUFFER中的数据一定要是真实想要的长度,每次都直接一整段写出去,会存在这最后一次刷出去极大的可能带了倒数第二次的脏数据。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-09
区别在于读取时字符流是两个字节,字节是一个,一般字符是处理在有文字相关的IO处理上,而其它的则用字节流读取做基本操作。
相似回答