一、java.io.Reader和java.io.Writer
是所有字符流的超类,与字节流的超类平级,也是抽象类,里面规定了所有字符流必须具备的读写字符的方法。字符流最小的读写单位是char字符,但是底层实际读写的还是字节,只是字符与字节之间的转换工作由字符流来完成。
1、转换流:
java.io.InputStreamReader和OutputStreamWriter
他们是一对高级流,实际开发中我们在读写字符串而组建流连接时,他们是非常重要的一环,但是我们不会直接操作这两个流。
2、主要作用:
1、衔接其他高级字符流与字节流
2、将字符与字节按照指定字符集进行转换
二、BW和PW
java.io.BufferedWriter:内部有缓冲区,可以块写文本数据来加快写出数据的速度。
java.io.PrintWriter:带有自动行刷新功能的缓冲字符输出流,内部总是连接着BufferedWriter作为缓冲加速功能,更常用。
1、构造方法:
PrintWriter提供了直接对文件进行写操作的构造方法:
PrintWriter(String filename)
PrintWriter(File file)
内部会自动完成流的链接,对文件进行写文本操作。
PrintWriter(String filename,String csn)
PrintWriter(File file,String csc)
创建的同时还可以指定字符集,推荐使用这种方式创建。实际开发中我们写出文本数据时都应该确定字符集,而不是使用系统默认的。