Ich werde nicht die ganze Antwort geben (es gibt Teile, die Sie sollten sich nachschlagen können), aber:
1) split()
Verwenden Sie eine Eingabezeile in Felder aufzuteilen. Das Ergebnis ist ein String[]
.
2) Die einfachste Möglichkeit, jede String
in eine int
zu konvertieren, ist die Verwendung von Streams. Wenn fields
die String[]
ist, dann können Sie verwenden:
int[] ints = Arrays.stream(fields).mapToInt(Integer::parseInt).toArray();
Dies setzt voraus, es gibt keine Parsing-Fehler. Wenn Sie ungültige Eingaben ordnungsgemäß verarbeiten möchten, müssen Sie möglicherweise eine Schleife anstelle eines Streams verwenden.
Um dies zu unterbinden: Arrays.stream
erstellt einen "Stream", der Ihnen alle Strings
im Array gibt. mapToInt
wandelt den Stream in einen IntStream
(ein Stream von int
; beachten Sie, dass es spezielle Stream-Typen gibt, wenn die Elemente einen primitiven Typ wie int
haben). Dazu wird eine Methode Integer.parseInt
angewendet, die einen String
Parameter akzeptiert und eine int
zurückgibt. toArray
auf einem IntStream
baut dann eine int[]
aus dem Stream.
3) Verwenden Sie eine ArrayList<int[]>
, um ein Array aller Zeilen zu halten, da Sie nicht im Voraus wissen, wie viele Zeilen es sein wird. Wenn Sie eine int[][]
möchten, können Sie die ArrayList
später in ein Array konvertieren.
Wie viele Zeilen wären in der CSV-Datei enthalten? –