Datei zeilenweise einlesen - aber nicht die erste Zeile

FoolMoon

Erfahrenes Mitglied
Hallo

ich habe eine CSV Datei und weiß das in der ersten Zeile unwichtiges steht. Nun würde ich gerne sinnvoll die erste Zeile überspringen. Selbstverständlich könnte ich in meiner while-Schleife eine Abfrage einbauen. Allerdings durchlaufe ich dann jedesmal die Abfrage und finde das doof bei 10.000 Zeilen.

Nun hab ich einen kleinen Blick in die API geworfen und vermute das ich das Problem elegant mit dem LineNumberReader lösen könnte. Meine Idee ist einfach bei dr zweiten Zeile loszulegen.

Code:
    private void dateiLesen(File dateiPflad) {
        String zeile;
        try {
            BufferedReader in = new BufferedReader(new FileReader(dateiPflad));
 
            while ((zeile = in.readLine()) != null) {
                zeileAnalysieren(zeile);
            }
            in.close();
        } catch (Exception e) {
            System.out.println("Error beim einlesen: " +e);
        }
    }


Ich hab versucht das dumme Ding einzubauen, allerdings funktioniert das irgendwie nicht. Ist mein Ansatz überhaupt elegant? Kennt ihr einen besseren? Wie muss ich den LineNumberReader verwenden um das Problem zu lösen?
 
Warum ließt du nicht einfach eine Zeile vor der Schleife?

Java:
    private void dateiLesen(File dateiPflad) {
        String zeile;
        try {
            BufferedReader in = new BufferedReader(new FileReader(dateiPflad));
            in.readLine(); // erste zeile lesen
            while ((zeile = in.readLine()) != null) {
                // rest lesen
                zeileAnalysieren(zeile);
            }
            in.close();
        } catch (Exception e) {
            System.out.println("Error beim einlesen: " +e);
        }
    }
 
Zurück