Java字节流和字符流的区别
Java字节流和字符流的区别
1.以Stream结尾的时字节流,Reader和Writer结尾都是字符流
2.InputStream是所有字节输入流的父类,OutputStream是所有字节输出流的父类
3.Reader是字符输入流的父类,Writer是字符输出流的父类
字节流:
文件流: FileOutputStream 和FileInputStream
缓冲流: BufferedOutputStream和BufferedInputStream
对象流: ObjectOutputStream 和ObjectInputStream
字符流:
转换流: InputStreamReader 和OutputStreamWriter
缓冲字符流: PrintWriter 和BufferedReader
区别
1.读写的时候字节流是按字节读写,字符流按字符读写
2.字节流适合所有类型文件的数据传输,因为计算机字节(Byte)是电脑中表示信息含义的最小单位。字符流只能处理纯文本数据,其他类型数据不行,但是字符流处理文本要比字节流处理文本要方便
3.在读写文件需要对内容按行处理,比如比较待定字符,处理某一行数据的时候一般会选择字符流
4.只是读写文件,和文件内容无关时,一般选择字节流