Jairo Álvarez Flores 4ºB ARCHIVO SECUENCIAL package Main; import java.io.File; import java.io.IOException; import java.util.Scanner; public class Main { public static void main(String[] args) throws IOException { int salir=1; File f=null; String Archivo = null; EscribeFichero lf = null; Scanner lee = new Scanner(System.in); EditarRegistro ER=new EditarRegistro(); do { System.out.print(" "); System.out.println("1) Leer archivo"); System.out.println("2) Escribir archivo"); System.out.println("3) Agregar datos a un archivo existente"); System.out.println("4) Modificar un archivo"); System.out.println("5) buscar un archivo"); System.out.println("6) Eliminar un archivo"); System.out.println("7) Salir"); System.out.print("Opcion: "); int opc = lee.nextInt(); Aplicaciones II Jairo Álvarez Flores 4ºB switch (opc){ case 1: System.out.print(" "); System.out.println("Nombre del archivo: "); String nom = lee.next(); LeeFichero fich = new LeeFichero(nom+".txt"); break; case 2: System.out.print(" "); System.out.print("Nombre del archivo de texto: "); nom=lee.next(); f=new File(nom+".txt"); boolean existe=f.exists(); if(existe=false){ System.out.println("El archivo de texto no existe"); } else if(existe=true){ lf=new EscribeFichero(nom+".txt", 0); } break; case 3: System.out.print(" "); System.out.println("Nombre del archivo: "); nom = lee.next(); lf = new EscribeFichero(nom + ".txt", 1); System.out.print(" "); break; Aplicaciones II Jairo Álvarez Flores 4ºB Aplicaciones II case 4: System.out.print(" "); System.out.println("Nombre del archivo: "); nom = lee.next(); LeeFichero l = new LeeFichero(nom + ".txt"); System.out.println("Clave a modificar"); int clave=lee.nextInt(); System.out.println("Modificar: "); System.out.println("1.Nombre"); System.out.println("2.Apellido"); System.out.println("3.Edad"); opc = lee.nextInt(); String envia = ""; if (opc == 1) { System.out.print("nuevo nombre: "); envia = lee.next(); envia = "Nombre:" + envia; } else if (opc == 2) { System.out.print("nuevo apellido: "); envia = lee.next(); envia = "Apellido:" + envia; } else if (opc == 3) { System.out.print("nueva edad: "); envia = lee.next(); envia = "Edad:" + envia; } ER.leervalor(nom, envia, clave, opc); break; Jairo Álvarez Flores 4ºB case 5: System.out.println("Nombre del archivo"); nom=lee.next(); System.out.println("clave a buscar"); clave=lee.nextInt(); BusquedaRegistro b = new BusquedaRegistro (nom,clave); break; case 6: System.out.print(" "); System.out.println("Nombre del archivo: "); nom = lee.next(); EliminaArchivo EL = new EliminaArchivo(); EL.delete(nom); System.out.println("Se elimino el archivo "+nom+".txt"); break; case 7: salir = 0; break; }} While (salir == 1); }} package Main; import java.io.FileWriter; import java.io.PrintWriter; import java.util.Scanner; public class EscribeFichero { Aplicaciones II Jairo Álvarez Flores 4ºB Aplicaciones II public EscribeFichero(String nombre, int opc){ FileWriter fichero = null; PrintWriter pw = null; try { Scanner lee = new Scanner(System.in); Datos d =new Datos(); if(opc==0){ fichero = new FileWriter(nombre); pw = new PrintWriter(fichero); System.out.println(""); System.out.print("Ingresa tu Nombre: "); d.setNombre(lee.next()); System.out.print("Ingresa tu Apellido: "); d.setApellido(lee.next()); System.out.print("Ingresa tu Edad: "); d.setEdad(lee.next()); pw.println("Clave: 1+d.getNombre().charAt(1)+2+d.getApellido().charAt(2)+3+d.getEdad()); pw.println("Nombre: " + d.getNombre()); pw.println("Apellido: " + d.getApellido()); pw.println("Edad: " + d.getEdad()); } else { fichero=new FileWriter(nombre, true); pw = new PrintWriter(fichero); String infoped, info; System.out.println(""); System.out.print("Ingresa tu Nombre: "); d.setNombre(lee.next()); Jairo Álvarez Flores 4ºB Aplicaciones II System.out.print("Ingresa tu Apellido: "); d.setApellido(lee.next()); System.out.print("Ingresa tu Edad: "); d.setEdad(lee.next()); pw.println("Clave:” +1+d.getNombre().charAt(1)+2+d.getApellido().charAt(2)+3+d.getEdad()); pw.println("Nombre: " + d.getNombre()); pw.println("Apellido: " + d.getApellido()); pw.println("Edad: " + d.getEdad()); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (null != fichero) fichero.close(); } catch (Exception e2) { e2.printStackTrace(); } }} } package Main; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public class LeeFichero { public LeeFichero(String nombre){ File archivo = null; Jairo Álvarez Flores 4ºB FileReader fr = null; BufferedReader br = null; try { archivo = new File (nombre); fr = new FileReader (archivo); br = new BufferedReader(fr); // Lectura del fichero String linea; while((linea=br.readLine())!=null) System.out.println(linea); } catch(Exception e){ e.printStackTrace(); }finally{ try{ if( null != fr ){ fr.close(); } }catch (Exception e2){ e2.printStackTrace(); } } }} package Main; import java.io.File; class EliminaArchivo { public void delete(String nom){ nom=nom+".txt"; File f=new File(nom); Aplicaciones II Jairo Álvarez Flores 4ºB f.delete(); if(f.exists()) System.out.println("archivo no eliminado"); }} package Main; import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.PrintWriter; class EditarRegistro { public int valor(String nom){ int numlin = 0; try{ FileReader fr=new FileReader(nom+".txt"); BufferedReader br=new BufferedReader(fr); String sCadena; while ((sCadena = br.readLine())!=null) { numlin++; } }catch(Exception e){ e.printStackTrace(); } return numlin; } FileWriter fw; Aplicaciones II Jairo Álvarez Flores 4ºB public void leervalor(String nom, String nuevoV, int clave, int dac){ int numlin = 0; try{ fw=new FileWriter(nom+"1.txt"); PrintWriter pw=new PrintWriter(fw, true); FileReader fr=new FileReader(nom+".txt"); BufferedReader br=new BufferedReader(fr); String sCadena; int linea=(clave*5-4)+dac; while ((sCadena = br.readLine())!=null) { numlin++; if(numlin!=linea){ pw.println(sCadena); } else{ pw.println(nuevoV); } } fw.close(); pw.close(); fr.close(); }catch(Exception e){ e.printStackTrace(); } System.out.println("Registro editado!!"); this.renombra(nom); } public void renombra(String nombre){ int numlin = 0; Aplicaciones II Jairo Álvarez Flores 4ºB try{ FileWriter fw=new FileWriter(nombre+".txt"); PrintWriter pw=new PrintWriter(fw, true); FileReader fr=new FileReader(nombre+"1.txt"); BufferedReader br=new BufferedReader(fr); String sCadena; while ((sCadena = br.readLine())!=null) { numlin++; pw.println(sCadena); } fw.close(); pw.close(); fr.close(); br.close(); EliminaArchivo et=new EliminaArchivo(); et.delete(nombre+"1"); }catch(Exception e){ e.printStackTrace(); }}} package Main; public class Datos { private int clave; private String nombre; private String apellido; private String edad; Aplicaciones II Jairo Álvarez Flores 4ºB public String getApellido() { return apellido; } public void setApellido(String apellido) { this.apellido = apellido; } public int getClave() { return clave; } public void setClave(int clave) { this.clave = clave; } public String getEdad() { return edad; } public void setEdad(String edad) { this.edad = edad; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; }} Aplicaciones II Jairo Álvarez Flores 4ºB Aplicaciones II package Main; import java.io.BufferedReader; import java.io.FileReader; import java.io.FileWriter; import java.io.PrintWriter; public class BusquedaRegistro { BusquedaRegistro(String nom, int clave) { int numlin = 0; FileWriter fw=null; FileReader fr=null; try { fw=new FileWriter(nom+"1.txt"); PrintWriter pw=new PrintWriter(fw, true); fr=new FileReader(nom+".txt"); BufferedReader br=new BufferedReader(fr); String sCadena; int linea=(clave*5-4); while ((sCadena = br.readLine())!=null) { numlin++; if(numlin==linea || numlin==linea+1 || numlin==linea+2 || numlin==linea+3) { System.out.println(sCadena); } } fw.close(); pw.close(); fr.close(); } catch(Exception e){ Jairo Álvarez Flores e.printStackTrace(); }finally{ try{ if( null != fr ){ fr.close(); } }catch (Exception e2){ e2.printStackTrace(); }}}} 4ºB Aplicaciones II