mit StringTokenizer csv Datei auslesen
-
Hallo zusammen,
ich möchte obiges. Ist auch soweit kein Problem, solange auch wirklich immer was zwischen den Trennzeichen steht, also etwa so:
name;vorname;strasse;ort
wenn jetzt aber ein oder mehrere Einträge fehlen, wie hier:
name;vorname;;ort
klappt meine Verarbeitung nicht, da nextToken() jetzt einmal weniger aufgerufen werden kann (;; wird quasi als ein Trennzeichen behandelt, das will ich aber nicht).
Gibts dafür ne andere Klasse? Oder n Trick?
Vielen Dank,
toktok
-
Hallo,
unter
http://www.galileocomputing.de/openbook/javainsel3/javainsel_120014.htm#Rxxjavainsel_120014437CSVCommaSeparatedValuesDateienverarbeiten
wird erwähnt wieso man für CSV-Import keinen StringTokenizer nehmen kann.Als Lösung wird ein CSV-Parser vorgeschlagen:
http://ostermiller.org/utils/CSV.htmlbye Saxony007
-
Ich würde halt in etwa sowas verwenden:
final String input = "Hallo;Welt;;Blubb;"; // ... Matcher matcher = Pattern.compile("[^;]*;").matcher(input); while (matcher.find()) { System.out.println("\"" + input.substring(matcher.start(), matcher.end() - 1) + "\""); }
Ausgabe schrieb:
"Hallo"
"Welt"
""
"Blubb"Musst halt eventuell noch ein wenig mit dem Pattern spielen, da z.B: Line-Feeds, etc. nicht beachtet werden.