使用Scanner类nextLine()方法从文件中读取单词

时间:2016-01-30 03:18:42

标签: java input

我有一个文本文件,其中包含来自英语的单词集合。单词按字母顺序书写,一行中有一个单词,没有空行,没有标点符号等。该列表如下图所示。列表一直持续到从'z'开始的最后一个单词,并且没有任何空行

The list continues till the last word starting from 'z'. There are no empty Lines whatsoever

我做了一个简单的程序,逐行读取这个文件中的单词并将单词写在不同的文件上。问题是我收到了这个错误

  

线程“main”中的异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0       在java.lang.String.charAt(未知来源)       在sd.main(sd.java:27)

只有当nextLine()方法在if条件的行中返回一个空字符串时才会发生这种情况。但是我正在读取的文件中没有空白行。如果我替换nextLine的每个实例()在程序中使用next()方法的方法,它可以完美地工作。请用导致此异常的详细信息启发我。

py.test -f

1 个答案:

答案 0 :(得分:1)

导致问题的是你第二个nextLine()。它移动到阵列中的下一个位置。你每个循环执行两次(在while循环中)。

所以,如果你改变:

alpha_list.println(dictionary.nextLine());

alpha_list.println(incre);

你会跑出界限。