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 StringBuilder
para eso, leer cada línea del archivo y los añadirá a StringBuilder
lalineSeparator
StringBuilder lineInFile = new StringBuilder();
while((s=br.readLine()) != null){
lineInFile.append(s).append(System.lineSeparator());
}
Ahora comprobar el searchString
de lineInFile
mediante 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));