🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Java – 逐行读取文件 – `LineNumberReader` > 原文: [https://howtodoinjava.com/java/io/java-io-linenumberreader-example-to-read-file-line-by-line/](https://howtodoinjava.com/java/io/java-io-linenumberreader-example-to-read-file-line-by-line/) 如果您只想按特定要求逐行读取文件的内容,则`LineNumberReader`可能是您的理想选择。 `LineNumberReader`是`BufferedReader`类的子类,可让您跟踪当前正在处理的行。 行号从 0 开始。每当`LineNumberReader`在包装的`Reader`返回的字符中遇到行终止符时,行号都会递增。 您可以通过调用`getLineNumber()`方法来获取当前行号。 `LineNumberReader`还使您可以通过调用`setLineNumber()`方法将当前行号重置为另一个号码(为什么要这样做?)。 如果您要分析可能包含错误的文本文件,则行号可能会很方便。 向用户报告错误时,如果您的错误消息中包含遇到错误的行号,则更容易纠正错误。 让我们建立一个简单的示例来展示`LineNumberReader`的特性。 在下面的示例中,这是我将使用`LineNumberReader`读取的文件内容。 ```java firstName=Lokesh lastName=Gupta blog=howtodoinjava technology=java ``` ## `LineNumberReader`示例 这是使用`LineNumberReader`逐行读取以上文件内容的代码。 ```java import java.io.FileReader; import java.io.IOException; import java.io.LineNumberReader; public class LineNumberReaderExample { public static void main(String[] args) { readFromFile("app.properties"); } private static void readFromFile(String filename) { LineNumberReader lineNumberReader = null; try { //Construct the LineNumberReader object lineNumberReader = new LineNumberReader(new FileReader(filename)); //Print initial line number System.out.println("Line " + lineNumberReader.getLineNumber()); //Setting initial line number lineNumberReader.setLineNumber(5); //Get current line number System.out.println("Line " + lineNumberReader.getLineNumber()); //Read all lines now; Every read increase the line number by 1 String line = null; while ((line = lineNumberReader.readLine()) != null) { System.out.println("Line " + lineNumberReader.getLineNumber() + ": " + line); } } catch (Exception ex) { ex.printStackTrace(); } finally { //Close the LineNumberReader try { if (lineNumberReader != null){ lineNumberReader.close(); } } catch (IOException ex){ ex.printStackTrace(); } } } } Output: Line 0 Line 5 Line 6: firstName=Lokesh Line 7: lastName=Gupta Line 8: blog=howtodoinjava Line 9: technology=java ``` 这就是将这个有用的课程向你介绍的知识的全部。 **祝您学习愉快!**