嘿,我有以下方法,通过查看大型.txt文件并检查单词是否存在来检查单词是否是合法单词。现在,只有.txt文件中的单词位于同一行,且彼此之间只有一个空格时,该方法才能正常工作。我有什么方法可以做到这一点,所以它逐行读取单词列表;如果每行有一个单词。例如,如果.txt文件的方向如下:
WORD1
WORD2
这是我的方法:
private boolean isWord(String word){
try{
//search .txt file of valid words. !!Will only read properly if there is a single space between each word.
BufferedReader in = new BufferedReader(new FileReader("/Users/user/Documents/workspace/AnagramAlgorithm/src/words.txt"));
String str;
while ((str = in.readLine()) != null){
if (str.indexOf(word) > -1){
return true;
}
else{
return false;
}
}
in.close();
}
catch (IOException e){
}
return false;
}
答案 0 :(得分:1)
在您的代码中,如果第一行不包含该单词,则会立即返回false。将其更改为仅在完成整个文件时返回false:
while ((str = in.readLine()) != null){
if (str.equals(word)){
return true;
}
}
return false;