2016-04-03 16 views
0

Ich lese in einer CSV-Datei, die eine Transportroute enthält. Ich habe die Datei im Terminalfenster angezeigt.Convert .csv in eine Liste von Arrays

Ich möchte für jede Reise ein neues Array erstellen.

Die erste Zeile der Datei ist der Stoppname, danach enthält jede Zeile die Registrierung des Fahrzeugs, den Zeitpunkt, an dem die Fahrt an der Haltestelle 1 beginnt und die Zeit bis zur nächsten Haltestelle.

Eine Reise würde also aus der Fahrzeugregistrierung, dem Stoppnamen und der Uhrzeit bestehen, wann das Fahrzeug da sein sollte.

Beispiel

Stop "Stop1" "Stop2" "Stop3" 
-------------------------------  
R101  650  4  7  
R101  710  4  6 
R101  730  4  9 
+0

was ist das Problem dann? – silentprogrammer

+0

Ich weiß nicht, wie Sie ein Array für jede Reise erstellen – user8010

+0

zeigen Sie den Code, den Sie ausprobiert haben. Am besten wäre es, eine separate Klasse namens "Journey" zu erstellen und jede Zeile in diesen Objektattributen zu speichern – silentprogrammer

Antwort

1

Wenn Sie nicht wollen, um eine Bibliothek verwenden Sie ein Dienstprogramm-Methode erstellen, die eine CSV in eine Liste von Arrays wie so konvertieren;

public static List<String[]> csvToListOfArrays(String file) throws IOException { 
    BufferedReader reader = new BufferedReader(new FileReader(file)); 
    List<String[]> arrays = new ArrayList<String[]>(); 
    String line; 
    while ((line = reader.readLine()) != null) { 
     String[] tokens = line.split(","); 
     arrays.add(tokens); 
    } 
    return arrays; 
} 

In dem obigen Code, erstellen wir einen gepufferten Leser und verwenden Sie die readLine() Methode zu einem Zeitpunkt jede Zeile der CSV eins zu bekommen. Dann, wenn wir diese Zeile haben, rufen wir split(",") auf, um die Zeile in ein Array von Strings auf den Kommas aufzuteilen. Zuletzt fügen wir die Arrays einer Liste zur späteren Verwendung hinzu.