Java字节流和字符流的区别

1.字节流是使用InputStream、OutputStream操作的,字符流是使用Reader、writer操作(以上提到的都是抽象内,日常开发用的都是他们的子类)。

2.字节流操作单位是字节,直接处理二进制(不支持UniCode码元)直接操作文件,字符流不会直接操作文件,会有一个缓存(一块内存空间),数据先加载到缓存(字符其实是在缓存区中形成的),程序再从缓存中读取,支持Unicode。

3.日常开发比较推荐字节流(中文处理使用字符流会比较方便),所有的文件在硬盘或在传输时都是以字节的方式进行的,包括图片等都是按字节的方式存储的,而字符是只有在内存中才会形成,所以在开发中,字节流使用较为广泛。但是日常操作的很多文件都是文本所以需要在字符流和字节流之间转换,InputStreamReader,OutputStreamWriter来操作。

猜你喜欢

转载自blog.csdn.net/sinat_36265222/article/details/86525779