Tengo este metodo, la idea es que lea una consulta de xml y cuando llegue a la etiqueta de cierre del prestamo pues cree el fichero con los datos que tiene y si no pues siga aumentando el String, una vez escrito el fichero los datos acumulados se borran y empieza de nuevo. El problema es que en la comparacion me dice que es false cuando llega a ese punto pero es verdadera. Solo me coge el ultimo de los 3 cierres que hay no se porque los anteriores da false y el ultimo true.Os dejo el metodo y el resultado de la query
public void CrearFichero3() {
String datos = "";
String script = cargarScrip(3);
String resultado = queryDB(script);
String[] lines = resultado.split("\n");
for (int i = 0; i < lines.length; i++) {
String mensaje=lines[i];
datos += mensaje;
if(lines[i].equals("</prestamo>"){
try {
String ruta = "c:\\ADtarea52020\\prestamo" + (i + 1) / 9 + ".xml";
File archivo = new File(ruta);
archivo.getParentFile().mkdir();
if (!archivo.exists()) {
BufferedWriter bw;
bw = new BufferedWriter(new FileWriter(archivo));
bw.write(datos);
datos = "";
bw.close();
} else {
JOptionPane.showMessageDialog(null, "El fichero prestamo" + (i + 1) / 9 + ".xml ya existe");
}
} catch (IOException e) {
System.out.println("Error al escribir");
}
}
Esta es el resultado de la query
<prestamo>
<inicio>2011-05-02</inicio>
<lector>
<nombre>Pepito</nombre>
<apellidos>Grillo</apellidos>
<direccion>Rue Percebe, 13</direccion>
<telefono>972987654</telefono>
</lector>
</prestamo>
<prestamo>
<inicio>2011-02-12</inicio>
<devolucion>2011-02-16</devolucion>
<lector>
<nombre>Jose</nombre>
<apellidos>Gutiérrez González</apellidos>
<direccion>Rue Percebe, 13</direccion>
<telefono>919485432</telefono>
</lector>
</prestamo>
<prestamo>
<inicio>2011-02-23</inicio>
<devolucion>2011-03-10</devolucion>
<lector>
<nombre>Pepito</nombre>
<apellidos>Grillo</apellidos>
<direccion>Rue Percebe, 13</direccion>
<telefono>972987654</telefono>
</lector>
</prestamo>