Como puedo usar printWriter para escribir en al mismo txt al final del testo que ya existe.

Tengo que crear un archivo txt con los datos que me llegan a cada consulta de una base de dato (oracle), cada vez los guardo en un array list y sucesivamente llamo el siguiente método

JFileChooser chooser = new JFileChooser();
int selección = chooser.showSaveDialog(null);
String pathFile = chooser.getSelectedFile().getPath() + ".txt";
FileWriter fichero = null;
PrintWriter pw = null;
try {
fichero = new FileWriter(pathFile);
pw = new PrintWriter(fichero);
int p = consultaTicketsMasivos.size();
String linea = null;
for (int i = 0; i < p; i++) {
//almacenamos cada registro en linea para después imprimir en el fichero
linea = consultaTicketsMasivos.get(i);
pw.println(linea);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
// Nuevamente aprovechamos el finally para
// asegurarnos que se cierra el fichero.
if (null != fichero) {
fichero.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}

Cada vez que uso el método o me sobrescrive o pierde la dirección no se si alguien me puede ayudar

1 Respuesta

Respuesta
1

Es tan simple como que cuando creas el FileWriter:

fichero = new FileWriter(pathFile);

uses el constructor con dos parámetros:

fichero = new FileWriter(pathFile, true);

Este segundo parámetro indica si quieres añadir o sobreescribir, te paso la referencia con toda la info en la API de java:

<a>http://docs.oracle.com/javase/6/docs/api/java/io/FileWriter.html#FileWriter%28java.io.File,%20boolean%29</a>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas