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.png

demo:简单使用

流12.png
1.2BufferedInputStream
流13.png

demo:简单使用

流14.png

二、字符缓冲流

构造方法
public BufferedReader(Reader in);
public BufferedWriter(Writer out);

2.1BufferedWriter

特有的方法:void newLine();会根据操作系统获取不同的行分隔符

流15.png

demo:简单使用

流16.png
2.2BufferedReader

特有的方法:String readLine();读一行(\n、\r、\r\n),读到末尾返回null!!!

流17.png

demo:简单使用

流18.png

三、转换流

流19.png

编码引出的问题
Windows使用的默认字符集为GBK;IDE默认格式为UTF-8编码
所以fileReader读取GBK文本会出问题

3.1OutputStreamReader

可以使用指定的charset将要写入流的字符编码成字节

流21.png

demo:简单使用

流22.png
3.2InputStreamReader

可以使用指定的charset读取字节并将其解码为字符

流20.png

demo:简单使用

流23.png
上一篇下一篇

猜你喜欢

热点阅读