缓冲流 #
缓冲流也就高效流。基本流中,每次读一次数据,写一次数据,频繁的IO操作,会降低程序运行的效率,缓冲流就是在创建流对象的时候,会创建一个缓冲区,通过缓冲区,将数据暂存在缓冲区,从而提高读写的效率。
1.字节缓冲流:
(1)字节缓冲输入流:BufferedInputStream(new FileInputSream())
(2)字节缓冲输出流:BufferedOutputStream(new FileOutputStream())
2.字符缓冲流
(1)字符缓冲输入流:BufferedReader(new FileReader())
(2)字符缓冲输出流:BufferedWriter(new FileWriter())
转换流 #
程序中,读写的文件默认的编码都是UTF-8编码,但是,往往有些时候文件并不是UTF-8编码,而是GBK编码或者其他编码,这个时候程序在读写时有可能会出错。这个时候可以用转换流来指定读取的文件编码,或者指定存取的文件编码。
InputStreamReader类 #
读取字节,并按照指定编码读取。
构造方法 #
public InputStreamReader(InputStream in);创建一个默认字符集的字符流
public InputStramReader(InputStream in,String charsetName);创建一个指定字符集的字符流。
OutputStreamWriter类 #
写出字节,按照指定编码。
构造方法 #
public OutputStreamWriter(OutputStream in);创建一个默认字符集的字符流
public OutputStramWriter(OutputStream in,String charsetName);创建一个指定字符集的字符流。