jump to navigation

Borrar un fichero con Java Febrero 26, 2008

Publicado por lineadecodigo en : Java , trackback

Borrar un fichero con Java es una actividad bastante sencilla, ya que mediante la clase File, la cual nos abstrae de la manipulación de ficheros, se nos ofrece un método para llevar a cabo tal cometido.

Lo primero que deberemos de hacer es instanciar una clase File. Para instanciar esta clase deberemos de pasar al constructor el nombre del fichero sobre el que queremos trabajar.

  1. File fichero = new File("fichero.txt");

Para borrar el fichero deberemos de invocar el método .delete() de la clase File. En caso de que se pueda realizar el borrado del fichero, dicho método devolverá true. En caso contrario devolverá false. Es por ello que deberemos de controlar su respuesta.

  1. if (fichero.delete())
  2. System.out.println("El fichero ha sido borrado satisfactoriamente");
  3. else
  4. System.out.println("El fichero no puede ser borrado");

Visualizar el ejemplo
|- Descargar el código
|- Descargar del SVN
|- Reportar un error del código

Articulos Similares:

|- Foro sobre Java IO

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 20666 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (Todavia sin evaluar)
Loading ... Loading ...

Comentarios»

1. alberto - Abril 5, 2008

Hola estoy intentanto borrar ficheros con el metodo delete() de la clase File, segun has indicado pero no los borra, siempre se va al else. ¿Por que puede ser? gracias

2. Marco - Abril 28, 2008

como puedo borrar un archivo no vacio
por o q entiendo ese es para borrar un archivo o carpeta vacios
osea unicos
pero si la carpeta tiene algo en su interior no me funciona
si pueden contestar
se los agradeceria mucho

3. Paula - Mayo 17, 2008

Pues me pasa igual que a Alberto, siemrpe se va a al else, por queeeee, lo necesito para mi proyecto fin de carrera, voy guardando imagenes en una carpeta y si no las voy borrando, es un poco tonto XD

4. Alejandro - Junio 12, 2008

Jojojojo,

pos yo también estoy igual…. la función “delete” siempre devuelve “false”… y no se borra ná

5. Alberto - Junio 12, 2008

Debe ser por algo del sistema operativo que lo impida, o que en ese momento el archivo este siendo utilizado, o que este protegido…creo que puede ser por cualquier cosa. El caso es que algunas veces me lo borra y otras no. Una solucion que yo he hecho es meter la función delete en un while para 1000 iteracciones; en la mayoria de los casos consigo que lo elimine aunque no lo asegura al 100%.

6. Max - Junio 18, 2008

esta bien, solo que a lo mejor se les olvido agregar la ruta del archivo donde esta guardado.

Por ejemplo, yo tengo puesto:

String sFichero = “C:\\fichero.txt”;

y con eso borro correctamente el archivo fichero.txt

espero hayan podido solucionar su problema, yo igual lo estoy usando en mi proyecto de programacion…

saludos…

7. Alejandro - Junio 19, 2008

La solución de Alberto de las iteraciones, aunque no me gusta, la probaré y os contaré. En cambio, la solución de Max sí la he probado y no me funciona…. :’(

8. yiyo - Junio 20, 2008

Este ejemplo aunque es muy simple funciona OK, podría complementarse para que verifique algunos detalles del archivo.

saludos a Linea de Codigo

9. karina - Octubre 14, 2008

vos qui ero aser una tarea del grado 5 del ondas x favor xD

10. Jime - Diciembre 6, 2008

Hola, estoy realizando una aplicacion donde genero archivos “temporales” que me sirven para obtener las salidas finales que deseo, pregunta..como podria borrar todos los archivos que esten en una carpeta?, por ejemplo..tengo la carpeta C:\\Archivos y dentro de ella un numero n de archivos,con diferentes formatos.txt, png.. y quiero en un momento dado borrar todo lo q haya en esa cargracias
por la ayuda

11. Juancho - Diciembre 10, 2008

la funcion delete devuelve false si el archivo esta asociado a un stream no cerrado conprueven si tienen el archivo abierto y cierrenlo y deberia funcionar :)

12. Linea de Codigo » Borrar un directorio con Java - Diciembre 28, 2008

[...] Para borrar un directorio en Java podemos utilizar el mismo código que para borrar un fichero. [...]

13. lineadecodigo - Diciembre 28, 2008

@ Marco,

Tienes el ejemplo para borrar un directorio que no esté vacío en Borrar un directorio con Java.

Espero que sea de tu ayuda.

14. yo mismo - Junio 10, 2009

Como ya han comentado otros usuarios, es problema de que el archivo esté abierto o no, o que no tengas permisos para modificarlo; en mi caso abro los archivos con InputStream y OutStream(según el caso), y para borrarlos debo cerrarlos con el método close. Una vez cerrados se borran perfectamente. Un saludo

15. TEMO - Julio 28, 2009

EL problema posiblemente es el close no el delete, pase todo un dia intentando solucionar ese problema, existen muchas formas para abrir los archivos, en mi caso como leo linea por linea lo hice de la siguiente manera
primero que nada crean su fichero para facilitar las cosas declarenlo dentro de la clase principal.
String sFichero = “C:\\fichero.txt”;
File TextFile = new File(sFichero);
ahora el metodo donde capturamos los datos
public void escribeArchivo()
{
try
{

FileWriter TextOut = new FileWriter(TextFile, true);
TextOut.write(aqui va la variable o cadena que desean almacenar);
TextOut.close();//OJO SIN ESTA PARTE NO TE MARCA HERROR Y LOS DATOS SE CAPTURAN Y MUESTRAN CORRECTAMENTE PERO NO TE DEJARA ELIMINAR EL ARCHIVO
}catch (IOException e) {
e.printStackTrace();
}
}
AHORA LA PARTE DE LECTURA (LEE LINEA POR LINEA POR LINEA EN EL BLOCK DE NOTAS AVECES NO SE APRECIAN LOS SALTOS DE LINEA PERO SI HACEN EL ARCHIVO .DOC EN LUGAR DE .TXT SE DARAN CUENTA QUE INTERNAMENTE SI EXISTE EL SALTO

public void CargarDatos() {
BufferedReader entrada;
try {

entrada = new BufferedReader( new FileReader( aqui va el nombre de tu fichero ) );
String linea;
while(entrada.ready()){

linea = entrada.readLine();
entrada.close();//ES SUMAMENTE IMPORTANTE PARA PODER ELIMINAR UN ARCHIVO QUE SE CIERREN TODOS LOS CICLOS
}catch (IOException e) {
e.printStackTrace();
}

}
al momento que capturas los datos en un archivo
no olviden las librerias estas son las mas usuales
import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.File;
import java.io.FileReader;

ESPERO QUE A ALGUNO LE RESUELVA SUS DUDAS…..

16. TEMO - Julio 28, 2009

ups se me pasaba para eliminar el archivo simplemente se pondria
TextFile.delete();
dentro del metodo que vayan a querer que elimine el archivo….

17. bryan - Enero 12, 2010

me mandaron una chamba y codificar buscar y eliminar en archivos xfavor podria ayudarme…!!! si puedes enviar a mi correo bryan32_so@……. muchas gracias!!!

18. ing Diego - Febrero 1, 2010

Buenas tardes! espero esten bien!! la verdad la funcion File.delete() si borra el fichero… pero tienen que tener en cuenta algo super importante!! cuiden que el fichero no lo este usando otra aplicacion y que ni siquiera este registrado dentro de la herramienta de desarrollo que esten usando. hagan un ejemplo con un fichero en el escritorio y denle la ruta al file:
File a=new File(C:/users/desktop/fichero.txt);
a.delete();
ojo: creen primero el fichero “fichero.txt”
correo: Diegoe_gamboa@hotmail.com

19. alejandro - Febrero 21, 2010

hola consulta como puedo borrar solo una palabra de txt usando java, gracias de antemano.

20. corel - Marzo 25, 2010

simplemente a los que no les borra es por que tiene un writer o un reader activo, para que pueda borrar tienen que poner
el objeto que estan unsando seguido del .close() y asi ya se puede borrar

21. yania - Abril 2, 2010

hola, quisiera saber como crear un archivo y a la vez borrarle cosas a el….

22. Ing. Diego. - Abril 5, 2010

Existen varias formas de crear el archivo! entre ellas usando la clase File… File a=new File(“path”); y luego usas la funcion a.createNewFile(); de ahi puedes usar otras clases que te ayudaran de acuerdo a tus necesidades como la clase FileReader que es para leer la informacion del fichero, la FileWriter que te ayuda a escribir en el mismo y una que es la que te recomiendo para que puedas leer y escribir en el fichero RandomAccessFile a esta clase puedes pasarle un objeto de la clase File y el segundo parametro es el tipo de apertura al archivo. bueno ahi te dejo una idea ya sabes por donde puedes comenzar a investigar. Exito!

23. eduardo - Junio 3, 2010

1Comparar un archivo con otro y decir iguales si es igual
2borrar contenido de un aarchivo

24. lineadecodigo - Junio 4, 2010

@eduardo,

Para compararlos, quieres decir que tengan el mismo contenido?
Puedes ir recorriendo línea a línea y viendo si son iguales.

Para el tema de borrar el contenido de un archivo puedes hacer dos cosas. Abrir el fichero y escribir una cadena vacía o bien borrar el fichero y crearlo vacío.

Me parecen buenos ejemplos, así que los intentaré incluir en la web.

25. lineadecodigo - Julio 31, 2010

@eduardo,

Te he dejado el ejemplo de comparar el contenido de los ficheros en http://lineadecodigo.com/java/comparar-el-contenido-de-dos-ficheros-con-java/

26. lineadecodigo - Julio 31, 2010

@eduardo

Para borrar el contenido del archivo..
http://lineadecodigo.com/java/vaciar-el-contenido-de-un-fichero-con-java/

27. Linea de Codigo » Vaciar el contenido de un fichero con Java - Julio 31, 2010

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

28. eduardo - Septiembre 7, 2010

ordenar 5 numeros en forma acendente




Si tienes dudas sobre Java IO no dudes en visitar el Foro sobre Java IO.
Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen