问题描述
我编写了一个程序,可以逐个单词地读取文件,并计算每个单词出现的次数。 我正在使用扫描仪执行此操作。 当我尝试在其他计算机上运行代码时,就会出现问题。 在我的Windows 10机器上,代码完美地运行了整个文件,但是当代码在我的MacBook上运行时,扫描程序会部分停止读取文件。 我已经包含了遍历下面文件的部分代码。
Scanner s = new Scanner(theFile);
List<String> words = new LinkedList<>();
while (s.hasNextLine())
{
String word s.next().replaceAll("\\p{Punct}", "");
words.add(word.toLowerCase());
}
就像我说的那样,在Windows上可以读取整个文件,但在Mac上只能读取很小的一部分。 另外,我正在使用SVN存储库,并确保代码和所读取的文件相同。
1楼
我最终从使用扫描仪切换为使用BufferedReader。 而不是阅读每个单词,而是一次阅读整行,然后将行拆分为单个单词。 仍然不确定为什么Scanner无法在两个平台上正常工作,但是这种方法给了我所需的结果。