java中字节流与字符流的区别

以stream结尾都是字节流,reader和writer结尾都是字符流。

InputStream是所有字节输入流的父类,OutputStream是所有字节输出流的父类。

Reader是字符输入流的父类,Writer是字符输出流的父类。

字节流:

文件流:FileOutputStream和FileInputStream

缓冲流:BufferedOutputStream和BufferedInputStream

对象流:ObjectOutputStream和ObjectInputStream

字符流:

转换流:InputStreamReader和OutputStreamWriter

缓冲字符流:PrintWriter和BufferedReader

区别:

  读写的时候一个是按字节读写,一个是按字符。

  在读写文件需要对内容按行处理,比如比较特定字符,处理某一行数据的时候一般会选择字符流。

  只是读写文件,和文件内容无关的,一般选择字节流。

原文地址:https://www.cnblogs.com/jylee/p/8868749.html