Advertisement
Re_21

eliminar poo fisico

Apr 5th, 2023
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.91 KB | None | 0 0
  1. public static void eliminarPersona(String primerNombre) {
  2.     File file = new File("datos.txt");
  3.     if (file.exists()) {
  4.         try {
  5.             FileReader fileReader = new FileReader(file);
  6.             BufferedReader bufferedReader = new BufferedReader(fileReader);
  7.             String linea;
  8.             String line;
  9.             int numerodeLineas = 0;
  10.             boolean personaEliminada = false;
  11.             boolean primeraLinea = true;
  12.  
  13.             bufferedReader = new BufferedReader(new FileReader(file));
  14.             while ((linea = bufferedReader.readLine()) != null) {
  15.                 numerodeLineas++;
  16.             }
  17.             System.out.println("El numero de personas es: " + numerodeLineas);
  18.             //arreglo de lineas?
  19.             String arreglo[] = new String[numerodeLineas];
  20.             bufferedReader.close();
  21.             fileReader.close();
  22.             //abre otro buffer y reader
  23.             bufferedReader = new BufferedReader(new FileReader(file));
  24.             //se crea un contador
  25.             int contador = 0;
  26.             //se vuelve a buscar el null y se crea una dimension para el arreglo que va a ser igual que lo que haya leido
  27.  
  28.             while ((linea = bufferedReader.readLine()) != null) {
  29.                 arreglo[contador] = linea;
  30.                 contador++;
  31.             }
  32.             //escribe en el archivo
  33.             FileWriter fileWriter = new FileWriter(file);
  34.             BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
  35.             for (int i = 0; i < arreglo.length; i++) {
  36.                 String nuevaLinea[] = arreglo[i].split("%");
  37.                 if (nuevaLinea[0].equalsIgnoreCase(primerNombre)) {
  38.                     Persona persona = new Persona(nuevaLinea[0], nuevaLinea[1], nuevaLinea[2], nuevaLinea[3], nuevaLinea[4],nuevaLinea[5]);
  39.                     persona.setEstado("0");
  40.                     personaEliminada = true;
  41.                     System.out.println("Registro eliminado");
  42.                     // no se escribe la linea del usuario eliminado en el archivo
  43.                 } else {
  44.                     if (primeraLinea == true) {
  45.                         bufferedWriter.write(arreglo[i]);
  46.                         primeraLinea = false;
  47.                     } else {
  48.                         bufferedWriter.newLine();
  49.                         bufferedWriter.write(arreglo[i]);
  50.                     }
  51.                 }
  52.             }
  53.             if (personaEliminada == false) {
  54.                 System.out.println("No se encontro registro");
  55.             }
  56.             bufferedWriter.close();
  57.             fileWriter.close();
  58.             if (numerodeLineas == 1 && personaEliminada == true) {
  59.                 file.delete();
  60.             } else {
  61.                 System.out.println("No hay registros para eliminar");
  62.             }
  63.         } catch (Exception error) {
  64.             System.err.println(error+ "error encontrado");
  65.         }
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement