2020-09-17 Java缓冲流、转换流
2020-09-17 本文已影响0人
flynnny
缓冲流也叫高效流,是对4个基本的FIleXXX流的增强
字节缓冲流:BufferedInputStream、BufferedOutputStream
字符缓冲流:BufferedReader、BufferedWriter
原理:创建流对象时,会创建一个内置默认大小的缓冲区数组,减少IO次数从而提高效率。
一、字节缓冲流
构造方法
public BufferedInputStream(InputStream in);
public BufferedOutputStream(OutputStream out);
1.1BufferedOutputStream
流11.pngdemo:简单使用
流12.png1.2BufferedInputStream
流13.pngdemo:简单使用
流14.png二、字符缓冲流
构造方法
public BufferedReader(Reader in);
public BufferedWriter(Writer out);
2.1BufferedWriter
特有的方法:void newLine();会根据操作系统获取不同的行分隔符
流15.pngdemo:简单使用
流16.png2.2BufferedReader
特有的方法:String readLine();读一行(\n、\r、\r\n),读到末尾返回null!!!
demo:简单使用
流18.png三、转换流
流19.png编码引出的问题
Windows使用的默认字符集为GBK;IDE默认格式为UTF-8编码
所以fileReader读取GBK文本会出问题
3.1OutputStreamReader
可以使用指定的charset将要写入流的字符编码成字节
流21.pngdemo:简单使用
流22.png3.2InputStreamReader
可以使用指定的charset读取字节并将其解码为字符
流20.pngdemo:简单使用
流23.png