一個文本文件,我已經從GitHub的項目,看起來一個文本文件(所有有效的英語單詞集合)這樣words.txt檢查一個字符串包含在單詞中的Java
我的文本文件是下resources
我的項目中的文件夾。
我也有從mysql中的表中獲得的行的列表。 我想要做的是檢查每一行中的所有單詞是否都是有效的英文單詞,這就是爲什麼我將每行與包含在我的文件中的單詞進行比較。
這是我試過到目前爲止:
public static void englishCheck(List<String> rows) throws IOException {
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
int lenght, occurancy = 0;
for (String row : rows){
File file = new File(classLoader.getResource("words.txt").getFile());
lenght = 0;
if (!row.isEmpty() ){
System.out.println("the row : "+row);
String[] tokens = row.split("\\W+");
lenght = tokens.length;
for (String token : tokens) {
occurancy = 0;
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null){
if ((line.trim().toLowerCase()).equals(token.trim().toLowerCase())){
occurancy ++ ;
}
if (occurancy == lenght){ System.out.println(" this is english "+row);break;}
}
}
}
}
}
這隻有在首先行,在那之後我的方法遍歷行只顯示他們忽略了對比,我想知道這是爲什麼不爲我行集的工作,它的工作原理也是,如果我預先設定我的名單像這樣List<String> raws = Arrays.asList(raw1, raw2, raw3)
等
超級壞主意:你在這裏創建一個n * m雙循環。你絕對不會**一次又一次地爲你的每一個單詞讀這個文件。 – GhostCat
@DevRj /words.txt中數據的格式是什麼?它是一行一行的在同一行,給一個樣本 –
提示:當你*編輯*你的源代碼...確保正確格式化它。 – GhostCat