当前位置: 代码迷 >> java >> 扫描仪在两个系统上表现不同
  详细解决方案

扫描仪在两个系统上表现不同

热度:47   发布时间:2023-08-04 09:14:08.0

我编写了一个程序,可以逐个单词地读取文件,并计算每个单词出现的次数。 我正在使用扫描仪执行此操作。 当我尝试在其他计算机上运行代码时,就会出现问题。 在我的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存储库,并确保代码和所读取的文件相同。

我最终从使用扫描仪切换为使用BufferedReader。 而不是阅读每个单词,而是一次阅读整行,然后将行拆分为单个单词。 仍然不确定为什么Scanner无法在两个平台上正常工作,但是这种方法给了我所需的结果。

  相关解决方案