Beste Weg, um zu vergleichen, große csv-Dateien?

Ich muss eine Anwendung, vergleicht einige sehr große csv - Dateien, jeweils mit 40.000 Sätze. Ich habe eine Anwendung, das funktioniert einwandfrei, aber er verbringt viel Zeit zu tun, dass der Vergleich, da die beiden Dateien könnte disordenated oder unterschiedliche Datensätze - das muss ich iterate (40000^2)*2-mal.

Hier ist mein code:

  if (nomFich.equals("CAR"))
    {
    while ((linea = br3.readLine()) != null)
    {

                array =linea.split(",");
                spliteado = array[0]+array[1]+array[2]+array[8];

                FileReader fh3 = new FileReader(cadena + lista2[0]);
                BufferedReader bh3 = new BufferedReader(fh3);

                find=0;

                while (((linea2 = bh3.readLine()) != null))

                {
                    array2 =linea2.split(",");
                    spliteado2 = array2[0]+array2[1]+array2[2]+array2[8];


                    if (spliteado.equals(spliteado2))
                    {

                        find =1;
                    }

                }
                if (find==0)

                {
                    bw3.write("+++++++++++++++++++++++++++++++++++++++++++");
                    bw3.newLine();
                    bw3.write("Se han incorporado los siguientes CGI en la nueva lista");
                    bw3.newLine();
                    bw3.write(linea);
                    bw3.newLine();
                    aparece=1;
                }
                bh3.close();


    }

Ich denke, dass mit einem Set in Java ist eine gute option, wie der folgende Beitrag nahelegt:
Vergleich von zwei csv-Dateien in Java

Aber vorher versuche ich es auf diesem Weg, ich würde gerne wissen, ob es irgendwelche bessere Optionen.

Dank für alles.

InformationsquelleAutor Deckard27 | 2014-03-24
Schreibe einen Kommentar