Java - Unir dos ficheros de objetos en java

   
Vista:

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.

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Unir dos ficheros de objetos en java

Publicado por Andrés andres.mella.romero@gmail.com (293 intervenciones) el 12/01/2017 19:27:08
Untitled_00

Puedes usar un Set.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar