100%(1)100% нашли этот документ полезным (1 голос)
572 просмотров5 страниц
Este programa permite gestionar registros de datos de personas en un archivo de texto. Ofrece las opciones de escribir, leer, buscar, eliminar y modificar registros. El usuario puede seleccionar una de estas opciones en un menú y el programa realizará la correspondiente operación en el archivo mediante streams de entrada/salida.
Este programa permite gestionar registros de datos de personas en un archivo de texto. Ofrece las opciones de escribir, leer, buscar, eliminar y modificar registros. El usuario puede seleccionar una de estas opciones en un menú y el programa realizará la correspondiente operación en el archivo mediante streams de entrada/salida.
Este programa permite gestionar registros de datos de personas en un archivo de texto. Ofrece las opciones de escribir, leer, buscar, eliminar y modificar registros. El usuario puede seleccionar una de estas opciones en un menú y el programa realizará la correspondiente operación en el archivo mediante streams de entrada/salida.
* To change this template, choose Tools | Templates
* and open the template in the editor. */
package ejercicio7menuarchivos; import java.util.Scanner; import java.io.*; /** * * @author Alumno */ public class Main {
/** * @param args the command line arguments */ public static void main(String[] args)throws IOException { Scanner leer= new Scanner(System.in); String nombre, apellidos, direccion, nombre_a_buscar, nombre_a_eliminar, nombre_a_modificar; int c=0, edad, opc; boolean continuar=false; DataOutputStream escritura=null; DataInputStream lectura=null; File origen = new File("datos.txt"); File destino = new File("auxiliar.txt"); do{ do{ System.out.println("1.- Escribir registro "); System.out.println("2.- Leer todos los registros"); System.out.println("3.- Buscar registro"); System.out.println("4.- Eliminar registro"); System.out.println("5.- Modificar registro"); System.out.println("6.- Salir"); System.out.println("Que opcion deseas"); opc=leer.nextInt(); if(opc<1 || opc>6) System.out.println("Opcin invlida, debe estar entre 1 y 4..."); }while(opc<1 || opc>6); switch(opc){ case 1: System.out.println("Dame el nombre: "); nombre = leer.next(); System.out.println("Dame los apellidos: "); apellidos = leer.next(); System.out.println("Dame la edad: "); edad = leer.nextInt(); System.out.println("Dame la direccin: "); direccion = leer.next(); try{ escritura = new DataOutputStream(new FileOutputStream(origen,true)); escritura.writeUTF(nombre); escritura.writeUTF(apellidos); escritura.writeInt(edad); escritura.writeUTF(direccion); escritura.close(); }catch(IOException ioe){System.out.println("La ruta no es vlida...");} break; case 2: try{ lectura = new DataInputStream(new FileInputStream(origen)); while(true){ c++; nombre=lectura.readUTF(); apellidos=lectura.readUTF(); edad=lectura.readInt(); direccion=lectura.readUTF(); System.out.println(c+".- Nombre: "+nombre+"\tApellidos: "+apellidos+"\tEdad: "+edad+"\tDireccin: "+direccion); } }catch(FileNotFoundException fnfe){/*codigo de error de la excepcion* System.out.println("El archivo no se encuentra...");*/} catch(EOFException eofe){/*codigo de error de la excepcion* System.out.println("No hay mas datos...");*/} c=0; System.out.println("\n"); lectura.close(); break; case 3: System.out.println("Dame el nombre a buscar"); nombre_a_buscar = leer.next(); try{ lectura = new DataInputStream(new FileInputStream(origen)); while(true){ c++; nombre=lectura.readUTF(); apellidos=lectura.readUTF(); edad=lectura.readInt(); direccion=lectura.readUTF(); if(nombre.equals(nombre_a_buscar)){ System.out.println("Posicin: "+c+"\t Nombre: "+nombre+"\tApellidos: "+apellidos+"\tEdad: "+edad+"\tDireccin: "+direccion); break; }
} }catch(FileNotFoundException fnfe){/*codigo de error de la excepcion*/ System.out.println("El archivo no se encuentra...");} catch(EOFException eofe){/*codigo de error de la excepcion*/System.out.println("No existe el registro en el archivo...");} c=0; lectura.close(); break; case 4: System.out.println("Dame el nombre a eliminar"); nombre_a_eliminar = leer.next(); try{ lectura = new DataInputStream(new FileInputStream(origen)); while(true){ nombre=lectura.readUTF(); apellidos=lectura.readUTF(); edad=lectura.readInt(); direccion=lectura.readUTF(); if(nombre.equals(nombre_a_eliminar)){ continuar=true; break; } } }catch(FileNotFoundException fnfe){/*codigo de error de la excepcion*/ System.out.println("El archivo no se encuentra...");} catch(EOFException eofe){/*codigo de error de la excepcion*/System.out.println("No existe el registro en el archivo...");} lectura.close(); if(continuar==true){ try{ lectura = new DataInputStream(new FileInputStream(origen)); escritura = new DataOutputStream(new FileOutputStream(destino,true)); while(true){ nombre=lectura.readUTF(); apellidos=lectura.readUTF(); edad=lectura.readInt(); direccion=lectura.readUTF(); if(!nombre.equals(nombre_a_eliminar)){ escritura.writeUTF(nombre); escritura.writeUTF(apellidos); escritura.writeInt(edad); escritura.writeUTF(direccion); } } }catch(FileNotFoundException fnfe){/*codigo de error de la excepcion*/ System.out.println("El archivo no se encuentra...");} catch(EOFException eofe){/*codigo de error de la excepcion*/System.out.println("El registro ha sido eliminado...");} lectura.close(); escritura.close(); origen.delete(); origen=new File("c:/datos.txt"); destino.renameTo(origen); } break; case 5: System.out.println("Dame el nombre a modificar"); nombre_a_modificar = leer.next(); try{ lectura = new DataInputStream(new FileInputStream(origen)); while(true){ nombre=lectura.readUTF(); apellidos=lectura.readUTF(); edad=lectura.readInt(); direccion=lectura.readUTF(); if(nombre.equals(nombre_a_modificar)){ continuar=true; break; } } }catch(FileNotFoundException fnfe){/*codigo de error de la excepcion*/ System.out.println("El archivo no se encuentra...");} catch(EOFException eofe){/*codigo de error de la excepcion*/System.out.println("No existe el registro en el archivo...");} lectura.close(); if(continuar==true){ try{ lectura = new DataInputStream(new FileInputStream(origen)); escritura = new DataOutputStream(new FileOutputStream(destino,true)); while(true){ nombre=lectura.readUTF(); apellidos=lectura.readUTF(); edad=lectura.readInt(); direccion=lectura.readUTF(); if(!nombre.equals(nombre_a_modificar)){ escritura.writeUTF(nombre); escritura.writeUTF(apellidos); escritura.writeInt(edad); escritura.writeUTF(direccion); } else{ System.out.println("\t Nombre: "+nombre+"\tApellidos: "+apellidos+"\tEdad: "+edad+"\tDireccin: "+direccion); System.out.println("Dame el nuevo nombre: "); nombre = leer.next(); System.out.println("Dame los nuevos apellidos: "); apellidos = leer.next(); System.out.println("Dame la nueva edad: "); edad = leer.nextInt(); System.out.println("Dame la nueva direccin: "); direccion = leer.next(); escritura.writeUTF(nombre); escritura.writeUTF(apellidos); escritura.writeInt(edad); escritura.writeUTF(direccion); } } }catch(FileNotFoundException fnfe){/*codigo de error de la excepcion*/ System.out.println("El archivo no se encuentra...");} catch(EOFException eofe){/*codigo de error de la excepcion*/System.out.println("El registro ha sido modificado...");} lectura.close(); escritura.close(); origen.delete(); origen=new File("c:/datos.txt"); destino.renameTo(origen); } break; case 6: System.out.println("Programa finalizado..."); } }while(opc!=6); } }