如何使用java检查文件中是否存在字符串?

如何使用java检查文件中是否存在字符串?,java,string,file,Java,String,File,在读取文本文件后,如何使用Java识别该文件中是否存在字符串 我试过: 公共类搜索常见问题解答{ 公共静态列表readFileInList(字符串文件名){ 列表行=Collections.emptyList(); 试一试{ lines=Files.readAllLines(path.get(fileName),StandardCharsets.UTF_8); }捕获(IOE异常){ //做点什么 e、 printStackTrace(); } 回流线; } 公共静态void main(字符串[

在读取文本文件后,如何使用Java识别该文件中是否存在字符串

我试过:

公共类搜索常见问题解答{
公共静态列表readFileInList(字符串文件名){
列表行=Collections.emptyList();
试一试{
lines=Files.readAllLines(path.get(fileName),StandardCharsets.UTF_8);
}捕获(IOE异常){
//做点什么
e、 printStackTrace();
}
回流线;
}
公共静态void main(字符串[]args){
listl=readFileInList(“/home/pavankalyan/Desktop/sample.aiml”);
迭代器itr=l.Iterator();
while(itr.hasNext()){
if(itr.next().equalsIgnoreCase(“关于公司”)){
System.out.println(itr.next());
}
}
}
}
但它不起作用。如何查找文件中是否存在字符串(“关于公司”)

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);
}

你的代码出了什么问题?你说不给出正确的结果是什么意思?请解释它的当前行为你正在查看行是否等于字符串,而不包含字符串文件包含我提到的字符串,即“关于公司”),但它没有打印值谢谢@zack6849,我尝试使用contains,它工作正常。问题在于equalsIgnoreCase(),我们应该使用contains(“字符串”),然后它会给出结果