未找到行 Exception in java with Scanner

No line found Exception in java with Scanner

提问人:Martin Specker 提问时间:12/7/2022 最后编辑:AbraMartin Specker 更新时间:12/7/2022 访问量:39

问:

我想从.txt文件中逐行读取。但是,当找到该文件时,我无法访问其内容。

import java.io.*;
import java.*;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public static void main(String[] args) {
try {
    File myObj = new File("C:\\Daten\\workspaces\\my_file.txt");
    System.out.println(myObj);
    Scanner myReader = new Scanner(myObj);
    System.out.println("test1");
    
    System.out.println(myObj.getName());
            
    String insertInto = "INSERT INTO ";
    insertInto = insertInto.concat(myObj.getName() +" ( ");
                        
    //get header
    System.out.println("hast next ?");
    System.out.println(myReader.hasNextLine());
    String header = myReader.nextLine();

} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}

这会导致以下输出:

C:\Daten\workspaces\my_file.txt
test1
my_file.txt
hast next ?
false

... threw exception
java.util.NoSuchElementException: No line found
    at java.util.Scanner.nextLine(Scanner.java:1540)
...

该文件是一个制表符限制的文本文件,我多次重新检查路径:它位于此位置并且不为空。

在这一点上,我真的不知道问题出在哪里了,我觉得我在错误的地方搜索,但我不知道我应该在哪里搜索。

提前感谢您的回答。

java 文件 java.util.scanner

评论

2赞 Scary Wombat 12/7/2022
hast next ? false
0赞 Scary Wombat 12/7/2022
你为什么不使用这个构造函数?docs.oracle.com/javase/7/docs/api/java/util/......
0赞 Martin Specker 12/7/2022
@ScaryWombat我做到了,同样的结果,在我尝试绝对路径之前,我实际上从那个开始。
0赞 Martin Specker 12/7/2022
@ScaryWombat我更新了问题以反映这一点。
0赞 Scary Wombat 12/7/2022
请尝试System.out.println(myObj.exists());

答:

0赞 Martin Specker 12/7/2022 #1

我发现了问题。不知何故,文件已损坏。我尝试了一个新的不同的虚拟文件,它可以读取这些行。因此,我只需将my_file.txt的内容复制到新.txt中即可,然后它就起作用了。 不过,我仍然不知道为什么。

PS:谢谢你的帮助袋熊。