Unir dos ficheros de objetos en java
Publicado por Carlos (1 intervención) el 06/01/2017 17:01:45
Hola, bueno hago este post para exponer el siguiente problema: Verán tengo dos archivos con extensión .dat, en el primer fichero tengo la siguiente información:
111111-A Antonio Garcia 22 H 77.0 1.75
222222-A Juan Marquez 33 H 60.0 1.72
333333-O Maria Perez 12 H 69.0 1.59
444444-Y Elisa Fernandez 18 M 55.0 1.63
555555-P Manuel Suarez 14 H 49.0 1.65
en el segundo fichero tengo esta información:
444444-Y Elisa Fernandez 19 M 53.0 1.63
101010-W Jose Gomez 28 H 55.0 1.73
111111-A Antonio Garcia 22 H 77.0 1.75
bien, lo que estoy tratando de hacer es comprobar si esta repetido el registro, y si esta repetido lo borro de la primera lista y añado en ese posicion el registro de la segunda. Y tambien comprobar si el registro esta solo en la segunda lista, en cuyo caso, se añade a la primera. Les enseño el codigo que llevo hecho hasta ahora, los datos de los ficheros se mostraran en una jtable, cualquier sugerencia o respuesta sera de gran ayuda.
111111-A Antonio Garcia 22 H 77.0 1.75
222222-A Juan Marquez 33 H 60.0 1.72
333333-O Maria Perez 12 H 69.0 1.59
444444-Y Elisa Fernandez 18 M 55.0 1.63
555555-P Manuel Suarez 14 H 49.0 1.65
en el segundo fichero tengo esta información:
444444-Y Elisa Fernandez 19 M 53.0 1.63
101010-W Jose Gomez 28 H 55.0 1.73
111111-A Antonio Garcia 22 H 77.0 1.75
bien, lo que estoy tratando de hacer es comprobar si esta repetido el registro, y si esta repetido lo borro de la primera lista y añado en ese posicion el registro de la segunda. Y tambien comprobar si el registro esta solo en la segunda lista, en cuyo caso, se añade a la primera. Les enseño el codigo que llevo hecho hasta ahora, los datos de los ficheros se mostraran en una jtable, cualquier sugerencia o respuesta sera de gran ayuda.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public ArrayList unirListas(String nombrefich, String nombrefich2){
ArrayList<Persona> listaunida = new ArrayList<Persona>();
FileInputStream f1,f2;
ObjectInputStream i1,i2;
try{
f1=new FileInputStream(nombrefich);
i1 = new ObjectInputStream(f1);
Persona obj=null;
f2=new FileInputStream(nombrefich2);
i2 = new ObjectInputStream(f2);
Persona obj2=null;
try{
obj=(Persona)i1.readObject();
obj2=(Persona)i2.readObject();
while(obj!=null && obj2!=null)
{
if(obj2.getNombre().equals(obj.getNombre())){
obj.setNombre(obj2.getNombre());
listaunida.add(obj);
System.out.println("Prueba");
}
}
}
catch (ClassNotFoundException ex) {
Logger.getLogger(ControlArchivo.class.getName()).log(Level.SEVERE, null, ex);
}
finally {
//JOptionPane.showMessageDialog(null, "Proceso finalizado.");
i1.close();
i2.close();
}
}
catch (IOException ex) {
Logger.getLogger(ControlArchivo.class.getName()).log(Level.SEVERE, null, ex);
}
return listaunida;
}
Valora esta pregunta
0