Búsqueda de cadena de varias líneas en un archivo de texto

Janny:

Tengo un archivo de texto del que estoy tratando de buscar una cadena que tiene varias líneas. Una sola cadena que soy capaz de buscar, pero necesito cadena de múltiples líneas que se debe buscar.

He tratado de buscar una sola línea que está funcionando bien.

public static void main(String[] args) throws IOException 
{
  File f1=new File("D:\\Test\\test.txt"); 
  String[] words=null;  
  FileReader fr = new FileReader(f1);  
  BufferedReader br = new BufferedReader(fr); 
  String s;     
  String input="line one"; 

  // here i want to search for multilines as single string like 
  //   String input ="line one"+
  //                 "line two";

  int count=0;   
  while((s=br.readLine())!=null)   
  {
    words=s.split("\n");  
    for (String word : words) 
    {
      if (word.equals(input))   
      {
        count++;    
      }
    }
  }

  if(count!=0) 
  {
    System.out.println("The given String "+input+ " is present for "+count+ " times ");
  }
  else
  {
    System.out.println("The given word is not present in the file");
  }
  fr.close();
}

Y a continuación son el contenido del archivo.

line one  
line two  
line three  
line four
Consorcio inactivo :

Utilice el StringBuilderpara eso, leer cada línea del archivo y los añadirá a StringBuilderlalineSeparator

StringBuilder lineInFile = new StringBuilder();

while((s=br.readLine()) != null){
  lineInFile.append(s).append(System.lineSeparator());
}

Ahora comprobar el searchStringde lineInFilemediante el uso decontains

StringBuilder searchString = new StringBuilder();

builder1.append("line one");
builder1.append(System.lineSeparator());
builder1.append("line two");

System.out.println(lineInFile.toString().contains(searchString));

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=188533&siteId=1
Recomendado
Clasificación