Java Scanner无法读取文件

时间:2011-01-21 20:09:02

标签: java java.util.scanner

我正在做一个非常简单的文本解析程序,使用朋友给我的文件。 但是,当我使用像这样的扫描仪打开文件时,

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机器的事实可能与它有关,但我的想法是开放的其他可能性

编辑格式和代码错误

4 个答案:

答案 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。