阅读文本文件后,如何使用Java识别该文件中是否存在字符串?
我尝试过:
public class SearchFaq {
public static List<String> readFileInList(String fileName) {
List<String> lines = Collections.emptyList();
try {
lines = Files.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8);
} catch (IOException e) {
// do something
e.printStackTrace();
}
return lines;
}
public static void main(String[] args) {
List l = readFileInList("/home/pavankalyan/Desktop/sample.aiml");
Iterator<String> itr = l.iterator();
while (itr.hasNext()) {
if (itr.next().equalsIgnoreCase("About Company")) {
System.out.println(itr.next());
}
}
}
}
但是没有用。如何查找文件中是否包含字符串(“关于公司”)?
答案 0 :(得分:1)
if(itr.next().equalsIgnoreCase("About Company"))
System.out.println(itr.next());
您在上述代码中两次致电itr.next
。因此,如果找到匹配项,它将打印下一行。
更改为
String line = itr.next();
if(line.equalsIgnoreCase("About Company")) {
System.out.println(line);
}
但是,您没有明确提及文件中是否存在字符串(“关于公司”)。到底是什么意思?的含义。如果该单词本身必须是一行,那么上面的代码应该起作用。如果要打印即使它是一行的一部分,则必须使用contains
String line = itr.next();
if(line.toLowerCase().contains("About Company".toLowerCase())) {
System.out.println(line);
}