我正在做一个非常简单的文本解析程序,使用朋友给我的文件。 但是,当我使用像这样的扫描仪打开文件时,
Scanner scan = new Scanner(new File(path));
System.err.println(scan.hasNext());
while(scan.hasNextLine())
System.err.println(scan.nextLine());
System.err.println(scan.next());
结果:
false
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:855)
at java.util.Scanner.next(Scanner.java:1364)
at Test.main(Test.java:18)
扫描程序将文件(大约1400行)视为空。
有人能想到扫描仪可能无法查看文件的任何原因吗?我怀疑这个文件是从Windows机器导入到Linux机器的事实可能与它有关,但我的想法是开放的其他可能性
编辑格式和代码错误
答案 0 :(得分:3)
发现问题: 逐字节地查看文件。在第一个字节中找到了一个EOF字符。 Java忽略了文件的其余部分。
答案 1 :(得分:3)
我使用new Scanner(new BufferedReader(new FileReader(fileName)))
代替new Scanner(new File(fileName))
答案 2 :(得分:0)
编辑:Fisrt猜错了
该文件可能有1400行空白。
答案 3 :(得分:0)
可能会出现这个问题:
1 - 您的文件可能未创建。
2 - 您的文件正在用于其他程序。
3 - 路径地址为false。