一个文本文件,我已经从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