BufferedReader类是文本缓存输入类,BufferedReader类的父类是Reader类,BufferedReader类具有缓存机制,工作原理和BufferedInputStream类相同。
BufferedReader类有默认的缓冲区空间,程序可以在类的构造函数中传入需要的缓冲区空间大小。
BufferedReader类的构造函数如下:
● public BufferedReader(Reader in);
该构造函数创建具有默认缓冲区空间的文本输入流。
● public BufferedReader(Reader in, int sz)
该构造函数创建指定缓冲区空间大小的文本输入流。
Reader类的方法在《输入输出流》一课中已介绍,BufferedReader类新增加了一个readLine()方法,该方法说明如下:
● String readLine()
该方法从文本文件中读取一行数据。
案例1:建立BufferedReaderTest测试类,使用BufferedReader的readLine()方法按行读取文本文件。
在buffer包下新建BufferedReaderTest类。代码如下:
package buffer;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
* @ClassName: BufferedReaderTest
* @Description:输入与输出(文本缓存输入类)案例1
* @author 编程训练营
* @date
*
*/
public class BufferedReaderTest {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param @param args 参数
*
* @return void 返回类型 @throws
*/
public static void main(String[] args) {
// 读取的文本文件路径
String filename = "d:\\sample1.txt";
BufferedReader reader;
String line;
try {
// 实例化BufferedReader对象
reader = new BufferedReader(new FileReader(filename));
// 按行读取
while ((line = reader.readLine()) != null) {
System.out.print(line + "\n");
}
// 关闭文件
reader.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}案例代码使用BufferedReader类的readLine()方法按行读取文本文件,并输出到控制台。
程序执行结果如下图所示:
