Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/07/2015, 03:23
lutxi
 
Fecha de Ingreso: diciembre-2007
Mensajes: 24
Antigüedad: 16 años, 5 meses
Puntos: 0
Borrar archivo txt con Java

Buenos días,

Me encuentro haciendo un proyecto de la universidad ( un trabajo vaya), donde tengo que manejar archivos serializables, en este caso un archivo de texto.

Debo de tratar ese archivo como si de una base de datos se tratase. Entonces, tengo que eliminar registros de ese archivo, para ello tengo un método.

El funcionamiento de dicho método es correcto hasta que se intenta ejecutar el método detele() (donde elimina el archivo temporal) y el renameTo (donde se renombra)

¿Podrían ayudarme?

Muchas gracias

Código Java:
Ver original
  1. public void eliminarLibro (String cadena,String archivo)  
  2.     {
  3.         System.out.println(archivo);
  4.         String linea=null;
  5.         try
  6.             {
  7.                     File archivoC= new File (archivo);
  8.                     File archivoTemp = new File (archivoC.getAbsolutePath() + ".tmp")  ;
  9.                     BufferedReader br= new BufferedReader (new FileReader(archivo));
  10.                     PrintWriter pw = new PrintWriter (new FileWriter (archivoTemp) );
  11.                      
  12.                         while ((linea = br.readLine())!=null)
  13.                             {
  14.                                  if(!linea.trim().equals(cadena))
  15.                                  {
  16.                                       pw.println(linea);
  17.                                       pw.flush();
  18.                                  }
  19.                             }
  20.                     pw.close();
  21.                     br.close();
  22.            if (!archivoC.delete())
  23.                 {
  24.                     System.out.println("No se puede eliminar el archivo");
  25.                     return;
  26.                 }
  27.              if (!archivoTemp.renameTo(archivoC))
  28.                     System.out.println("No se puede renombrar el archivo");
  29.                
  30.                
  31.         }
  32.         catch (IOException ex)
  33.         {
  34.              ex.printStackTrace();
  35.        
  36.     }    
  37.    
  38. }