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