【问题标题】:Trouble getting next line of a file in Java using the Scanner class使用 Scanner 类在 Java 中获取文件的下一行时遇到问题
【发布时间】:2018-05-16 19:09:06
【问题描述】:

我正在尝试接听 nextLine 电话,但我在拨打电话时似乎正在获取整个文件的其余部分。

header = getHeaderLine(fname, columns);

Scanner inputFile = null;

try{
    inputFile = new Scanner(new FileInputStream(fname));
} catch (FileNotFoundException e){
    System.out.println("File is not found.");
    System.exit(0);
}

if (hasHeader) inputFile.nextLine();

String line = inputFile.nextLine();

for(int i=0; i<body.length; i++){
    body[i] = getEntries(line, columns);
    line = inputFile.nextLine();
}

在这里我调用 nextLine() 它似乎抓住了文件的整个其余部分。 这是我遇到的错误

Exception in thread "main" java.util.NoSuchElementException: No line found
    at java.util.Scanner.nextLine(Scanner.java:1540)
    at CFR.main(CFR.java:50)

【问题讨论】:

标签: java file-io java.util.scanner


【解决方案1】:

我认为它正在遍历文件并在我已经到达文件末尾时尝试获取下一行。我需要更改停止条件。

【讨论】:

    【解决方案2】:

    问题出在end-of-line 字符上。行尾字符因各种操作系统 linux、mac、windows/DOS 等而异。

    检查文件是否有适合您所运行操作系统的 end-of-line 字符。

    【讨论】:

      猜你喜欢
      • 2017-01-20
      • 1970-01-01
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多