一、BufferedReader
BufferedReader提供了下面两个功能:
- 在普通Reader的基础上,提供了缓冲功能,可以更加高效的读取
- 提供了读取一行的功能:readLine()
二、LineNumberReader
LineNumberReader继承自BufferedReader,并且增加了下面两个功能:
- 获取行号:getLineNumber()
- 设置行号:setLineNumber()
不过,setLineNumber()能改变行号,却不能改变读的位置。
实例:
package com.ghs.test;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
public class Main {
public static void main(String[] args) {
InputStream in = Main.class.getResourceAsStream("test.log");
LineNumberReader reader = new LineNumberReader(new InputStreamReader(in));
String line;
try {
while ((line=reader.readLine()) != null) {
System.out.println(reader.getLineNumber()+":"+line);
}
} catch (IOException e) {
e.printStackTrace();
}
}