Java - Sobrescritura archivos txt unica linea

 
Vista:
sin imagen de perfil

Sobrescritura archivos txt unica linea

Publicado por Wasp (15 intervenciones) el 22/12/2015 08:59:40
Buenas días!

Estoy con desarrollando una app web, la cual quiero guardar un log de lo que voy haciendo.
Me he creado una clase aparte, para el tratamiento de los logs, es decir, una clase con funcionalidad para insertar en archivos de texto lo que me interesa.

el problema es que solo me escribe la primera linea, y por tanto, toda la información no queda guardada, entonces no tengo un seguimiento.

mi metodo para insertar en un log es:

1
2
3
4
5
6
7
8
9
10
11
public void insertaLog(int estado) throws IOException{
 
	File archivo = new File("ruta/miarchivo.txt");
	PrintStream salida = new PrintStream(archivo);
	if(estado == 1){
		salida.println("Prueba de impresion correcta");
	}else{
		salida.println("Prueba de impresion fallida");
	}
	salida.close();
}

Cada vez que lo llamo para ver si he tenido acceso, solo se me escribe una linea, y ninguna otra.
¿Alguien me podria ayudar?

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Sobrescritura archivos txt unica linea

Publicado por Tom (1831 intervenciones) el 22/12/2015 11:33:54
No tiene mucho sentido que crees y destruyas el stream cada vez que quieres escribir una línea. De hecho, el fichero en disco se sobreescribe cada vez.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class TestFile {
	static File f = new File("/tmp/sal.txt");
	static PrintStream ps;
	/* */
	static void test() throws FileNotFoundException {
		ps.println("Linea de prueba");
	}
	/* */
	public static void main(String args[]) throws FileNotFoundException {
		ps = new PrintStream(f);
		test();
		test();
		test();
		ps.close();
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar