Java扫描仪无法读取文件
问题描述:
我正在做一个非常简单的文本解析程序,使用朋友给我的文件。 然而,当我打开使用扫描器等使文件,Java扫描仪无法读取文件
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机器可能有一些用它做的事,但我的心是开放给其他的可能性
编辑的格式和代码中的错误
答
发现问题: 逐字节地看着文件。在第一个字节中找到了EOF字符。 Java忽略了文件的其余部分。
答
编辑:最前一页猜错是错误的
该文件可能有1400行充满空格。
答
它也许发生了这样的问题:
1 - 您的文件可能不会创建。
2 - 您的文件正在用于其他程序。
3 - 路径地址为false。
答
我解决它使用new Scanner(new BufferedReader(new FileReader(fileName)))
代替new Scanner(new File(fileName))
在创建扫描仪,你得到任何错误与创建新的文件? – 2011-01-21 20:11:51
没有任何。 – 2011-01-21 20:12:48
显示的堆栈跟踪包括对`Scanner.next()`的调用,但是您的代码段中没有显示此类调用。哪一行(在你的代码中)异常来自? – 2011-01-21 20:15:49