Vaciar el contenido de un fichero con Java

31/jul/2010 Java , , , 7 Comentarios
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.

  1. 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().

  1. 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.

  1. 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

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

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

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
http://lineadecodigo.com/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

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:
http://lineadecodigo.com/java/leer-fichero-de-texto-con-java/
http://lineadecodigo.com/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

*


*