Tengo que leer un fichero TXT que contiene más o menos esta estructura:
Código:
Y lo que he realizado es la siguiente función, cuya misión es leer de dicho fichero el texto hasta que encuentre el texto "<numero>)", entonces acumular el siguiente texto hasta el siguiente código "<numero>)" en un StringBuffer y despues añadir dicho StringBuffer a una lista.texto_sin_importancia texto_sin_importancia texto_sin_importancia texto_sin_importancia 1) texto_importante texto_importante texto_importante texto_importante texto_importante 2) texto_importante texto_importante texto_importante texto_importante
Mejor les pongo el código:
Código PHP:
public void interpretarResultados(File _fichero){
if (_fichero.exists()){
try{
// Variables necesarias
BufferedReader br = new BufferedReader(new FileReader(_fichero));
String cadena = "";
StringBuffer cadAux = null;
List listaTexto = new ArrayList();
int i = 1;
// Leo el fichero línea a línea
while ((cadena = br.readLine()) != null){
// Si encuentro una línea que contenga el código
if (cadena.contains(i+") ")){
// Si no es el primero, entonces cadAux debe tener contenido,
// en tal caso lo inserto en la lista
if ((cadAux != null)&&(cadAux.toString().equals("") != false))
listaTexto.add(cadAux.toString());
// En cualquier caso, cadAux es un nuevo StringBuffer al que le añado
// la cadena actual
cadAux = new StringBuffer();
cadAux.append(cadena);
i++; //incremento i
}
// Sino contiene el código, pero cadAux no es null y no esta vacio
// entonces estoy en el texto importante y lo añado a cadAux
else if ((cadAux != null)&&(cadAux.toString().contentEquals("") == false))
cadAux.append(cadena);
}
// Aqui muestro el texto contenido en cada elemento de la lista
for (Iterator j = listaTexto.iterator(); j.hasNext(); ){
String texto = (String) j.next();
System.out.println(texto);
}
}catch(IOException a){
a.printStackTrace();
}
}//fi _fichero.exists()
}