G
Guest
Gast
Hallo!
Ich habe ein Problem beim Auslesen einer CSV-Datei. Folgendes ist zu machen. Die CSV-Datei besteht aus 6 Feldern. Diese sind ID;Organisation;Land;Adresse;PLZ;Standplatz
Jede dieser Zeilen soll in ein Objekt abgespeichert werden.
Nun mein Problem. Mit split() teile ich die Zeilen in die entsprechenden Felder aufgeteilt. Nur wenn ich die Zeilen durchlaufe bekomme ich immer eine ArrayOutofBounds Exception. Das verwunderliche ist das das nicht immer in der gleichenZeile passiert. Ach noch zur Info. Die Zeilen in dem CSV-File sind nicht immer vollständig, dh. es sind felder leer.
Hier ist die MEthode die zum Auslesen der Zeilen und aufteilung ist.
Ich hoffe der Code reicht sonst melden und ich poste den gesamten Code.
Gruß
Christian
Ich habe ein Problem beim Auslesen einer CSV-Datei. Folgendes ist zu machen. Die CSV-Datei besteht aus 6 Feldern. Diese sind ID;Organisation;Land;Adresse;PLZ;Standplatz
Jede dieser Zeilen soll in ein Objekt abgespeichert werden.
Nun mein Problem. Mit split() teile ich die Zeilen in die entsprechenden Felder aufgeteilt. Nur wenn ich die Zeilen durchlaufe bekomme ich immer eine ArrayOutofBounds Exception. Das verwunderliche ist das das nicht immer in der gleichenZeile passiert. Ach noch zur Info. Die Zeilen in dem CSV-File sind nicht immer vollständig, dh. es sind felder leer.
Hier ist die MEthode die zum Auslesen der Zeilen und aufteilung ist.
Code:
public DBEntry[] getEntryArray() {
int lines = getLines();
DBEntry[] result = new DBEntry[lines];
FileInput fi = new FileInput(filename_);
for (String line; (line = fi.readLine()) != null; ) {
String[] sp = line.split(";");
for(int j = 0; j<sp.length; j++) {
if(sp[j] == "") {
sp[j] = "empty";
}
}
System.out.println(sp[0]); // Ausgabe ID
System.out.println(sp[1]); // Ausgabe Organisation
System.out.println(sp[2]); // Ausgabe Land
System.out.println(sp[3]); // Ausgabe Adresse
System.out.println(sp[4]); // Ausgabe zip
System.out.println(sp[5]); // Ausgabe Stand
System.out.println("---------------------------------------");
//System.out.println(line);
}
//System.out.println("Die Datei hat " + lines +" Zeilen");
return result;
}
Ich hoffe der Code reicht sonst melden und ich poste den gesamten Code.
Gruß
Christian