Inhalt von einer csv-Datei abspeichern

Khk

Neues Mitglied
Hallo miteinander,
seit meinem Grundstudium habe ich mich nicht mehr mit java befasst und möchte mir jetzt mein Leben während meiner Abschlussarbeit erleichtern, in dem ich gewisse Daten mit Java bearbeite.

Zu meinem Problem:
Mir liegt eine csv-Datei vor die in etwa folgendermaßen aufgebaut ist:

Inkrement,Zeit,x,y,ID,spannung, ...
1,2,3,4,1,222,...
1,2,4,5,2,222,...
.
.
.
n,m,3,4,5,222,...

Ich möchte nun alle Daten gleichen Inkrements in ein Array abspeichern. Bei ArrayLists ist es ja soweit ich weiß nur möglich einzelne Strings, integer, usw. abzuspeichern. Gibt es hier eine praktische Möglichkeit, ähnlich der ArrayLists, ein Array zu erzeugen mit fester Spaltengröße aber sich ändernde Zeilengröße?
Eine weitere Frage die mir einfällt wäre:
Da die Anzahl der Inkremente sich bei jeder csv-Datei unterscheiden können wüsste ich nicht wieviele solche Arrays ich brauche. Mein erster Gedanke eine while-Schleife auszühren solange eine neue Zeile in der Datei gefunden wird, und eine variable vom Typ Integer in dieser Schleife aufzuaddieren um dies als den Namen des neuen Arrays zu verwenden wird vermutlich nicht funktionieren. Oder irre ich mich?

Grüße
Khk
 
Zuletzt bearbeitet:
Mit ArrayList bist du gut dabei, warum machst du dir nicht ein DatenObjekt, dass dir deine Information aus der CSV Datei hält?

Bsp:

Java:
public class DataObject {
    int increment;
    ....

    //getter & setter
}

Dann hast du pro ArrayListen-Eintrag eine Zeile CSV.
 
Sollten die Eintragungen über einen Key verfügen, kannst du auch über eine Map nachdenken, aber eine einfache List sollte deinen Anforderungen genügen.

Flown hat das ja bereits erklärt, dass hier ein eigenes "Zeilen-Objekt" pro Zeile sinnig wäre.

du liest also in einer Schleife deine Datei zeilenweise ein und speicherst die einzelnen "Spalten" in Member deiner Zeilenklasse.

Später kannst du dann die einzelnen Zeilen einfach aus der Liste herauslesen und mit ihnen machen, was immer dir beliebt
 
Dann werde ich so die Sache anpacken und ausprobieren ob es so funktioniert wie ich es mir erhoffe...
Vielen Dank schonmal für den Tipp!
 

Neue Themen


Zurück
Oben