网上看到这样一个方法如下,请问为什么要用LineNumberReader套BufferedReader呢,用BufferedReader不更简单么??public static void testLineNumberReader() {
try {
LineNumberReader lineNumberReader = new LineNumberReader(new BufferedReader(new FileReader(new File("C:\\x.txt")))); String lineString; //行字符串变量
int x = 0; //行号
while ((lineString = lineNumberReader.readLine()) != null) {
x++;
System.out.println("行号:" + x + " >>>" + lineString);
}
lineNumberReader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
LineNumberReader lineNumberReader = new LineNumberReader(new BufferedReader(new FileReader(new File("C:\\x.txt")))); String lineString; //行字符串变量
int x = 0; //行号
while ((lineString = lineNumberReader.readLine()) != null) {
x++;
System.out.println("行号:" + x + " >>>" + lineString);
}
lineNumberReader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
LineNumberReader应该封装了其他方法,只是在这段程序中没使用没体现出来,所以看不出区别。
extends BufferedReaderA buffered character-input stream that keeps track of line numbers.
LineNumberReader继承了BufferedReader
也就是传说中的LineNumberReader装饰了BufferedReader,
增加设置行号和获得行号的功能。