Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/04/2015, 13:33
lutxi
 
Fecha de Ingreso: diciembre-2007
Mensajes: 24
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Eliminar archivo temporal

Hola,

Este es el codigo completo...

Código Java:
Ver original
  1. public class HerramientasLibreria
  2. {
  3.     Libreria libro;
  4.     String archivo="libros.txt";
  5.    //  private static final String archivo="libros.txt";
  6.    
  7.     public HerramientasLibreria()
  8.     {
  9.    
  10.  
  11.     }
  12.    
  13.  public void BuscarLibro(String isbn)
  14.     {
  15.         String cadena;
  16.       try {
  17.         FileReader f= new FileReader(archivo);
  18.         BufferedReader b= new BufferedReader(f);
  19.         while ((cadena=b.readLine())!=null)
  20.             {
  21.               if(cadena.indexOf(isbn)!=-1)
  22.                 {
  23.                     EliminarLibro(cadena);
  24.                 }
  25.  
  26.             }
  27.             b.close();
  28.         }
  29.  
  30.      catch (Exception e)
  31.     {
  32.      
  33.         System.out.print("Error, error");
  34.     }
  35.     }
  36. public  void MostrarLibros ()  //throws FileNotFoundException
  37.     {
  38.         String cadena;
  39.         System.out.print("entrar!");
  40.       // String archivo="libros.txt";
  41.       try {
  42.         FileReader f= new FileReader(archivo);
  43.         BufferedReader b= new BufferedReader(f);
  44.         while ((cadena=b.readLine())!=null)
  45.             {
  46.                 System.out.println(cadena);
  47.                
  48.             }
  49.             b.close();
  50.         }
  51.  
  52.      catch (Exception e)
  53.     {
  54.      
  55.         System.out.print("Error, error");
  56.     }
  57.    
  58. }
  59.     public void AnadirLibros()
  60.         {
  61.                 String cadena;
  62.                
  63.          try
  64.             {
  65.                  InputStreamReader leer = new InputStreamReader(System.in);
  66.                  BufferedReader buff = new BufferedReader(leer);
  67.                  System.out.println("ISBN : ");
  68.                  cadena = buff.readLine();
  69.                  cadena+=" ";
  70.                  System.out.println("Precio : ");
  71.                  cadena+=buff.readLine();
  72.                  cadena+=" ";
  73.                  System.out.println("IVA : ");
  74.                  cadena+=buff.readLine();
  75.                  cadena+=" ";
  76.                  System.out.println("Precio + IVA : ");
  77.                  cadena+=buff.readLine();
  78.                  cadena+=" ";
  79.                  System.out.println("Cantidad : ");
  80.                  cadena+=buff.readLine();
  81.                  cadena+=" ";
  82.                  BufferedWriter archivoFinal = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(archivo, true)));
  83.                  archivoFinal.newLine();
  84.                  archivoFinal.write(cadena);
  85.                  archivoFinal.close();
  86.                  System.out.println("Libro añadido de forma exitosa");
  87.              }
  88.          catch (Exception ex)
  89.              {
  90.                  System.out.println("No se ha podido añadir de forma correcta");
  91.              }
  92.    
  93.  
  94.        
  95.  
  96.         }
  97.       public void EliminarLibro (String cadena)
  98.       {
  99.           try
  100.             {
  101.                     File archivoC= new File (archivo)   ;
  102.                     File archivoTemp = new File (archivoC.getAbsolutePath() + ".tmp")  ;
  103.                     BufferedReader br= new BufferedReader (new FileReader(archivo));
  104.                     PrintWriter pw = new PrintWriter (new FileWriter (archivoTemp) );
  105.                      String linea=null;
  106.                         while ((linea = br.readLine())!=null)
  107.                             {
  108.                                  if(!linea.trim().equals(cadena))
  109.                                  {
  110.                                       pw.println(linea);
  111.                                       pw.flush();
  112.                                  }
  113.                             }
  114.                     pw.close();
  115.                     br.close();
  116.            if (archivoC.delete())
  117.                 {
  118.                     System.out.println("No se puede eliminar el archivo");
  119.                     return;
  120.                 }
  121.              if (archivoTemp.renameTo(archivoC))
  122.                
  123.                     System.out.println("No se puede renombrar el archivo");
  124.                
  125.                
  126.         }
  127.         catch (IOException ex)
  128.         {
  129.              ex.printStackTrace();
  130.        
  131.     }    
  132. }
  133. }