0

我正在使用 Scanner 读取大约 700 行文本(每行一个单词),并将每一行/单词存储为 String ArrayList 的一个元素,该元素由预定的 800 个元素大小构成。然而,在 Eclipse 的变量模式下调试时,我注意到 ArrayList 的后面元素根本没有初始化 - 似乎 Scanner 停在一个单词的中间,在一个随机的行上。

  • 这不是分隔符的问题(我已经初始化了带有和不带有“\n”分隔符的扫描仪,没有区别)或文本内容本身 - 当我切换单词的顺序时,扫描仪停止阅读完全相同的字符数。
  • 文本文件本身并不是很大——只有 6KB。
  • 我试过从 next() 切换到 nextLine(),也没有问题

我正在尝试使用资源:

try (Scanner stopwordImport = new Scanner(new File(stopwordFile))) {
        while (stopwordImport.hasNext()) {
            stopWords.add(stopwordImport.nextLine());
        }

...所以扫描仪应该关闭。

我不知所措……怎么了?提前致谢。

4

1 回答 1

0

尝试FileReader代替File,所以你没有缓冲问题。我有同样的问题,这对我有用。

于 2021-07-27T15:38:57.560 回答