【发布时间】:2012-12-02 15:24:59
【问题描述】:
所以,我在使用 Scanner 类从文件中读取内容时遇到了一个有趣的问题。基本上,我试图从目录中读取解析应用程序生成的几个输出文件,以计算一些准确度指标。
基本上,我的代码只是遍历目录中的每个文件,然后用扫描仪打开它们以处理内容。无论出于何种原因,扫描仪都没有读取一些文件(全部为 UTF-8 编码)。即使文件不是空的,scanner.hasNextLine() 在第一次调用时也会返回 false(我打开调试器并观察到了这一点)。我每次都直接使用文件对象初始化扫描仪(文件对象已成功创建)。即:
File file = new File(pathName);
...
Scanner scanner = new Scanner(file);
我尝试了几件事,最终通过以下方式初始化扫描仪解决了这个问题:
Scanner scanner = new Scanner(new FileInputStream(file));
虽然我很高兴解决了这个问题,但我仍然很好奇之前可能发生了什么导致这个问题。有任何想法吗?非常感谢!
【问题讨论】:
-
我正在一起破解一些东西并遇到了您的确切问题。拯救 FileInputStream!
标签: java