java中字节流与字符流的区别
以stream结尾都是字节流,reader和writer结尾都是字符流。
InputStream是所有字节输入流的父类,OutputStream是所有字节输出流的父类。
Reader是字符输入流的父类,Writer是字符输出流的父类。
字节流:
文件流:FileOutputStream和FileInputStream
缓冲流:BufferedOutputStream和BufferedInputStream
对象流:ObjectOutputStream和ObjectInputStream
字符流:
转换流:InputStreamReader和OutputStreamWriter
缓冲字符流:PrintWriter和BufferedReader
区别:
读写的时候一个是按字节读写,一个是按字符。
在读写文件需要对内容按行处理,比如比较特定字符,处理某一行数据的时候一般会选择字符流。
只是读写文件,和文件内容无关的,一般选择字节流。