我试图读取文件“words.txt”中的一些单词,然后在运行时在程序的其他类中使用它们。这是我在互联网上找到的,它似乎没有正常工作。
public static List<String> wordsList;
public static void refreshWords(){
String fileName = "words.txt";
String line = null;
try {
FileReader fileReader =
new FileReader(fileName);
BufferedReader bufferedReader =
new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null) {
for(String tempWord : line.split(" ")){
wordsList.add(tempWord);
}
}
bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println(
"Unable to open file '" +
fileName + "'");
}
catch(IOException ex) {
System.out.println(
"Error reading file '"
+ fileName + "'");
}
}
public static List<String> getListOfWords(){
return wordsList;
}
我,从程序运行之前显示的消息,取消整个事情,可以确定错误是由于将tempWord添加到wordsList而引发的。我认为tempWord是null,但我似乎无法找到原因。
我在文件中的所有内容都是一堆随机的单词,我想到了这个单词,格式如下:
这场比赛乌龟森林足球球java列表恼火答案 0 :(得分:0)
你正在使用的是旧方法(在Java 7之前)。 使用Java 7/8,读取文件要容易得多。因此,我不是寻找错误,而是使用新的API重写它:
List<String> lines = Files.readAllLines(yourFile.toPath(), StandardCharsets.UTF_8);
请参阅Files.readAllLines(Path, Charset)
此外,在您的问题中,您将线条分为单词。这非常不寻常,单词列表几乎总是每行一个单词。