字符缓冲输入流_BufferedReader
程序员文章站
2022-04-03 19:35:23
...
字符缓冲输入流_BufferedReader:
java.io.BufferedReader extends Reader
继承自父类的共性成员方法:
int read() 读取单个字符并返回
int read(char[] cbuf)一次读取多个字符,将字符读入数组
void close() 关闭该流并释放与之关联的所有资源
构造方法:
BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符输入流
BufferedReader(Reader in,int sz) 创建一个使用指定大小输入缓冲区的缓冲字符输入流
参数:
Reader in:字符输入流
我们可以传递FileReader,缓冲流会给FileReader增加一个缓冲区,提高FileReader的读取效率
特有的成员方法:
String readLine() 读取一个文本行。读取一行数据
行的终止符号:通过下列字符之一即可认为某行已终止:换行('\n'),回车('\r')或回车后直接跟着换行('\r\n)).
返回值:
包含该行内容的字符串,不包含任何终止符,如果已到达流末尾,则返回null
使用步骤:
1.创建字符缓冲输入流对象,构造方法中传递字符输入流
2.使用字符缓冲输入流对象中的方法read/readLine读取文本
3.释放资源
代码:
public class Demo04BufferedReader {
public static void main(String[] args) throws IOException {
//1.创建字符缓冲输入流对象,构造方法中传递字符输入流
BufferedReader br = new BufferedReader(new FileReader("day10_IO\\b.txt"));
//2.使用字符缓冲输入流对象中的方法read/readLine读取文本
/*String line = br.readLine();
System.out.println(line);
line = br.readLine();
System.out.println(line);
line = br.readLine();
System.out.println(line);
line = br.readLine();
System.out.println(line);*/
/*
使用循环优化
不知道文件中有多少行数据,所以使用while循环
while的结束条件是,读取到null结果
*/
String line;
while ((line = br.readLine()) != null){
System.out.println(line);
}
//3.释放资源
br.close();
}
}
程序演示:
上一篇: 说说Redux的工作原理