java - Java 中的 "Scanner.nextLine()"会跳过,"NoLineFound"-Exception

标签 java file exception java.util.scanner

以下代码从名为 *Ergebnisse 00_01* 的文件中读取一些数据,我希望显示该文件 (System.out.println(..);)。因此,缺少一些空白行,也没有打印其他一些数据。最后,出现了 java.util.NoSuchElementException: No line found,但为什么呢?我做错了什么?

ArrayList<String> singleParts = new ArrayList<String>();
try {
    int index = 0;
    scanner = new Scanner( new File("files/Ergebnisse 00_01.txt") );
    while ( scanner.hasNextLine() )  {
        singleParts.add(scanner.nextLine());
        System.out.println(index+": "+scanner.nextLine() );
        index++;
    }
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (Throwable te) {
    te.printStackTrace();
} 

结果应该是(这里前面没有索引):

----------

1.Spieltag 00/01
11.08.2000 - 20:15 Uhr  (7.) Borussia Dortmund 1:0 FC Hansa Rostock (12.)

Herrlich (61.) 1:0

12.08.2000 - 15:30 Uhr  (13.) 1.FC Kaiserslautern 0:1 VfL Bochum (8.)

Buckley (62.) 0:1

12.08.2000 - 15:30 Uhr  (5.) Bayer 04 Leverkusen 2:0 VfL Wolfsburg (15.)

Kirsten (14.) 1:0
Kirsten (24.) 2:0

12.08.2000 - 15:30 Uhr  (1.) SC Freiburg 4:0 VfB Stuttgart (18.)

Dreyer (4.) 1:0
Zeyer (28.) 2:0
Baya (48.) 3:0
Dorn (80.) 4:0

实际输出:

0: 1.Spieltag 00/01
1: Herrlich (61.) 1:0
2: 
3: 12.08.2000 - 15:30 Uhr   (5.) Bayer 04 Leverkusen 2:0 VfL Wolfsburg (15.)
4: Kirsten (24.) 2:0
5: 
6: Baya (48.) 3:0

最佳答案

这是因为您调用了两次 scanner.nextLine() 但您只打印了一次。 每次调用 scanner.nextLine() 时,扫描仪都会前进到下一行。

试试这个:

    String next = scanner.nextLine();
    singleParts.add(next);
    System.out.println(index+": "+next );

关于java - Java 中的 "Scanner.nextLine()"会跳过,"NoLineFound"-Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22440339/

相关文章:

渐变颜色 Canvas 上的 Java 挑战

java - 为 LFR_SESSION_STATE_% 设置安全 session cookie 和 httpOnly

java - 无法对两个文本字段中的两个数字进行加/减/乘/除操作

c++ - new >> 我如何将一个包含 3 列且每列包含 100 个数字的文件读取到一个数组中?

mysql - 什么时候应该使用 MySQL TEXT 字段而不是文件?

c - 存储到我的文件中的结构没有被覆盖(C)

java - 如何快速构建Web Application?

python - 重试模块不重试异常

java - 尝试在 ArrayList 中遍历时如何修复 java.util.ConcurrentModificationException 错误

.net - MEF ComposeParts。如何处理插件异常