Vaciar el contenido de un fichero con Java

31/Jul/2010 Java , , , 9 Comentarios
Programación en Java

Nos llegaba una pregunta vía comentarios sobre como vaciar el contenido de un fichero con Java. Y nos pusimos manos a la obra.

El procedimiento es muy sencillo. Lo primero que tenemos que hacer es abrir un stream de escritura sobre el fichero. Para ello necesitaremos de un FileWriter y un BufferedWriter.

BufferedWriter bw = new BufferedWriter(new FileWriter(sFichero));

Una vez que tenemos el stream sobre el BufferedWriter lo que vamos a hacer es escribir una línea vacía. Para ello utilizamos el método .write().

bw.write("");

Así lo que conseguimos es machacar todo el contenido que pudiese existir en el fichero. Vaciándolo de su contenido actual. Ahora, no hay que olvidarnos de cerrar nuestro fichero. Esto lo hacemos mediante el método .close() del BufferedWriter.

bw.close();

Y ya hemos conseguido vaciar el contenido de un fichero con Java.

Ojo, hay que tener cuidado de que el fichero exista o se nos generará una excepción FileNotFoundException o IOException.

Vídeos sobre Java IO


9 comentarios en “Vaciar el contenido de un fichero con Java”

Víctor Cuervo

Luis Valero

Cambia el true de la primera línea por false

Víctor Cuervo

Fernando

Estimados, el ejemplo anterior para vaciar el archivo no me funciona siguiendo los mismos pasos, alguna sugerencia?
Saludos Cordiales.

FXFM

Víctor Cuervo

Víctor Cuervo

Fernando, ¿Te da alguna excepción o información cuando lo ejecutas? A ver si podemos ayudarte.

Saludos!

Víctor Cuervo

gris

pero si le escribir y durante la ejecucion ocupo vaciarlo.. para volver a escribir que debo hacer?

Víctor Cuervo

lineadecodigo

@Diana,

Hemos creado un ejemplo para copiar ficheros en Java

Copiar un fichero con Java

Espero que resuelva tu problema.

Víctor Cuervo

pablo

hola,

he intentado vaciar un archivo con el metodo presentado y no he podido. Alguina recomenadcion?

Aqui esta elcodigo:

escribir = new FileWriter(file,true);

writer= new BufferedWriter(escribir);

PrintWriter escribir1 = new PrintWriter(escribir);

writer.write(«»);

escribir1.close();
writer.close();
escribir.close();
}
catch (IOException ev){
System.err.println(«Error en archivo; »
+ev.toString());
System.exit(1);
}

Víctor Cuervo

Abel

Hola Pablo
escribir = new FileWriter(file,true);<— Aquí esta el problema
El argumento true dentro del FileWriter lo que hace es agregar el contenido que coloques y tu quieres borrar
lo que debes hacer es hacerlo sin el true y funcionara

Víctor Cuervo

lineadecodigo

@Diana,

Lo que puedes hacer es ir leyendo de un fichero y a la vez que lees del fichero, vas creando el nuevo. Para ello utiliza una variable intermedia con el contenido.

Si el fichero es muy grande puedes tener problemas de memoria

La lectura y escritura la tienes explicada en los siguientes artículos:

Leer fichero de texto con Java

Escribir en un fichero de texto con Java

El ejemplo que buscas me parece muy interesante y voy a ver si lo publicamos en la página.

Víctor Cuervo

Diana

Hola yo tengo una pregunta debo hacer un replicador del contenido de un fichero de texto por medio de Java, como puedo hacer esto, estaba pensando en guardar en una variable todo el contenido y después pegarla bajo el contenido original de mi fichero.

Pero como puedo hacer esto, por favor!

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.