JAVA IO流中的字节流字符流的适用场合区别
什么时候该时候字节流什么时候该使用字符流,数字,中文,图片读写时候各使用哪个好,常用的又哪些流?求大神指教...
什么时候该时候字节流什么时候该使用字符流,数字,中文,图片读写时候各使用哪个好,常用的又哪些流? 求大神指教
展开
2个回答
展开全部
这个不是很清晰么,如果是和文本处理有关系的就用字符流,因为读取的最小单位不一样,字符流方便处理字符, 如果是其他的比如说音频视频图片等等文件的,和字符没有关系了,就用字节流,一个BYTE一个BYTE的来,不能更清晰了。我估计你应该是IO整个框架不是很熟悉。
追问
是的,整个IO没有仔细去研究,看到各种例子有用字符有用字节流的,感觉分不清了。看到很多代码都喜欢用缓冲流,这个是不是更好用呢
追答
用缓冲流有两个好处:1)减少硬盘的IO。性能提高N个数量级。 2)文件太大,边读边写硬盘控制内存使用大小。 3) 所有NIO的框架都用到了缓冲流的处理、直接映射物理内存等等,这个有兴趣可以去看一下,减少一次虚拟机的BUFFER拷贝,提高性能。
记得有一点小心就是写出去之前,BUFFER中的数据一定要是真实想要的长度,每次都直接一整段写出去,会存在这最后一次刷出去极大的可能带了倒数第二次的脏数据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询