/** * * @author Johannes Rothkegel, Juan Pablo Rothkegel Ide, Raul Cortes * * La clase personas es la que se encarga de hacer la relacion entre persona y * la base de datos. Ya que implementa la interfaz DataBase. */ import java.util.*; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class Personas implements DataBase{ private ArrayList persona; public Personas(){ persona = new ArrayList(); this.refreshDataBase(); //Se refresca la base de datos con las nuevas personas que están en la base de datos. } public void addPersona(Persona p){ persona.add(p); //Se agrega un objeto persona al arreglo. } /** * showPersonas está diseñada para mostrar la tabla de personas. */ public void showPersonas(){ System.out.println("Rut"+"\t"+"Nombre"+"\t"+"Apellido"+"\t"+"Direccion"); System.out.println("---------------------------------------------"); for(Persona p: persona){ String st; st = p.getRut() +"\t"+ p.getNombre()+"\t"+ p.getApellido()+"\t"+ p.getDir(); System.out.println(st); } } public Persona getPersona(String rut){ for(Persona p: persona){ if(p.getRut().equals(rut)){ return p; } } return null; } //---------------------------------------Data Base methods-------------------------------------- public void writeDataBase(){ int i=0; try { FileWriter writer = new FileWriter("Persona.txt"); for(Persona p: persona){ if(i!=0) writer.write("\r\n" ); writer.write(p.getRut()+"\t"+p.getNombre()+"\t"+p.getApellido()+"\t"+p.getDir()+"\t"+p.getNum()); i++; } writer.close(); } catch (IOException e) { e.printStackTrace(); } } public void deleteFromDataBase(String rut){ for(int i=0;i per = new ArrayList(); for(Persona p: persona){ per.add(p); } persona.clear(); try{ in = new Scanner(file); while(in.hasNextLine()){ String r,n,a,d,nt; if(in.hasNext()) r = in.next(); else break; if(in.hasNext()) n = in.next(); else break; if(in.hasNext()) a = in.next(); else break; if(in.hasNext()) d = in.next(); else break; if(in.hasNext()) nt= in.nextLine().trim(); else break; if(r != ""){ persona.add(new Persona(r,n,a,d,nt)); } } } catch(FileNotFoundException exception){ System.out.println("The file " + file.getPath() + " was not found."); System.exit(-1); } if (in.hasNextLine()) // there was a break while reading the input file System.out.println("Input file format error in: "+in.nextLine()); for(Persona p: per){ boolean isIn=false; for(Persona pe: persona){ if(pe.getRut().equals(p.getRut())){ isIn=true; } } if(isIn == false){ persona.add(p); writeDataBase(); } } } }