Split, Scanner, StringTokenizer oder PatternMatching für flexibles Dateieinlesen?

ambois

Mitglied
Hallo

Ich habe eine Textdatei, die folgendermaßen aufgebaut ist:

Zahl Wort Zahl Wort Wort Wort
Zahl Wort
Zahl Wort Zahl Wort Wort
....

Es stehen immer mindestens "Zahl Wort" und maximal "Zahl Wort Zahl Wort Wort Wort" in einer Zeile.
Delimiter ist ein Leerzeichen.

Das ganze habe ich mit nem 2-Zeiler a la
Java:
while ( scanner.hasNextLine() ) {
    	System.out.println( scanner.nextLine() );	    	
    }
zeilenweise eingelesen und ausgegeben.

Ich wollte nun die einzelnen Werte in einer Datenbank abspeichern.
Dafür bräuchte ich aber nicht die ganze Zeile sondern jeweils die einzelnen Tokens um sie den Spalten zuzuordnen.

Und da liegt mein Problem, ich habe mir bisher Beispiele zu Split, Scanner, StringTokenizer und PatternMatching angeschaut schaffe es aber nicht eines dieser Lösungen an meinem Problem anzuwenden.

Als letztes hatte ich mit scanner.nextLine() und dann scanner.hasNext() experimentiert jedoch funktioniert dies nur wenn alle Zeilen die gleiche Anzahl an Spalten besitzen.
Da ich so langsam am verzweifeln bin wäre ich über einen Tipp zur Lösung meines Problems sehr dankbar, auch wenn es nur ein Tipp zur Vorgehensweise und keine technische Lösung(Code) ist.
 
sollte doch einfach klappen! du hast über den scanner doch jede zeile, und die teilst du mit split in ein array oder mit dem tokenizer in tokens auf. diese kannst du doch dann so wegspeichern! 🙂
 
Java:
String line = scanner.nextLine();
String[] tokens = line.split(" ");

Das liefert dir deine Tokens. Die Zahlen musst du dann noch (wenns Ganzzahlen sind) per Integer.parseInt(); umwandeln.
 

Zurück
Oben