El problema es que solo me entra una vez en el segundo y tercer while. Parece que una vez que ha leido el fichero no lo vuelve a leer. El segundo y tercer while estan dentro del primero por tanto debería de volver a ejecutarse.... Aquí os adjunto el código:
Cita:
while ((lineaOperaciones = brOperaciones.readLine()) != null) {
String palabrasOperaciones[] = lineaOperaciones.split("¤");
String idOperacion = palabrasOperaciones[0];
while ((lineaComplementos = brComplementos.readLine()) != null) {
String palabrasComplementos[] = lineaComplementos.split("¤");
String idComplemento = palabrasComplementos[0];
if (idOperacion.equals(idComplemento)) {
Complemento complemento = new Complemento(idComplemento, palabrasComplementos[1],palabrasComplementos[2],
palabrasComplementos[3]);
listaComplementos.add(complemento);
}
}
while ((lineaRecursos = brRecursos.readLine()) != null) {
String palabrasRecursos[] = lineaRecursos.split("¤");
String idRecurso = palabrasRecursos[0];
if (idOperacion.equals(idRecurso)) {
Recurso recurso = new Recurso(idRecurso,
palabrasRecursos[1], palabrasRecursos[2],
palabrasRecursos[3], palabrasRecursos[4],
palabrasRecursos[5], palabrasRecursos[6]);
listaRecursos.add(recurso);
}
}
Operacion operacion = new Operacion(idOperacion, palabrasOperaciones[1], palabrasOperaciones[2], palabrasOperaciones[3], palabrasOperaciones[4],
palabrasOperaciones[5], palabrasOperaciones[6], listaComplementos, listaRecursos);
listaOperaciones.add(operacion);
System.out.println(lineaOperaciones);
}
String palabrasOperaciones[] = lineaOperaciones.split("¤");
String idOperacion = palabrasOperaciones[0];
while ((lineaComplementos = brComplementos.readLine()) != null) {
String palabrasComplementos[] = lineaComplementos.split("¤");
String idComplemento = palabrasComplementos[0];
if (idOperacion.equals(idComplemento)) {
Complemento complemento = new Complemento(idComplemento, palabrasComplementos[1],palabrasComplementos[2],
palabrasComplementos[3]);
listaComplementos.add(complemento);
}
}
while ((lineaRecursos = brRecursos.readLine()) != null) {
String palabrasRecursos[] = lineaRecursos.split("¤");
String idRecurso = palabrasRecursos[0];
if (idOperacion.equals(idRecurso)) {
Recurso recurso = new Recurso(idRecurso,
palabrasRecursos[1], palabrasRecursos[2],
palabrasRecursos[3], palabrasRecursos[4],
palabrasRecursos[5], palabrasRecursos[6]);
listaRecursos.add(recurso);
}
}
Operacion operacion = new Operacion(idOperacion, palabrasOperaciones[1], palabrasOperaciones[2], palabrasOperaciones[3], palabrasOperaciones[4],
palabrasOperaciones[5], palabrasOperaciones[6], listaComplementos, listaRecursos);
listaOperaciones.add(operacion);
System.out.println(lineaOperaciones);
}