Problem mit Zeichen aus einer Datei auslesen

Status
Nicht offen für weitere Antworten.

Mammon

Mitglied
Ich lese aus einer Textdatei zeilenweise aus, teile die Zeile mit StringTokenizer auf und speichere die Werte dann ab. Das hat alles immer problemlos funktioniert, jedoch bekomm ich jetzt immer einen Fehler der keinen Sinn ergibt.
Jedes mal wenn ich den Namen Blagojevic oder Jasarevic einlese bekomme ich die Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: 10

Dieser Fehler tritt nur bei diesen zwei Namen auf und sonst nirgendwo. Kann mir einer sagen was dieser Fehler zu bedeuten hat???


Code:
            BufferedReader bin = new BufferedReader(new FileReader(file));
            while((readLine=bin.readLine())!=null)
            {
                //VORNAME;ZUNAME;GESCHLECHT;GEBDATUM
                readout=new StringTokenizer(readLine,";");		// Aufteilen der Zeile
                temp=readout.nextToken();                     // Vorname
                name=new StringTokenizer(temp," ");
                firstn=name.nextToken();
                lastn=readout.nextToken();                      // Nachname
                sex=readout.nextToken();                        // Geschlecht
                temp=readout.nextToken();						// Geburtsdatum

                birthDate=new StringTokenizer(temp,".");					// GeburtsDatum aufteilen
                birthDay=Integer.parseInt(birthDate.nextToken());			// Tag
                birthMonth=Integer.parseInt(birthDate.nextToken());			// Monat
                birthYear=Integer.parseInt(birthDate.nextToken());			// Jahr      
                classData.add(new NumData(firstn,lastn,sex,birthDay,birthMonth,birthYear));
             }

Eine Zeile ist so aufgeteilt:
VORNAME;ZUNAME;GESCHLECHT;GEBDATUM
 
kannst du die genaue Zeile des Fehlers feststellen?
außerdem wäre eine Eingabe als String viel besser als die untestbare Datei,
Schleife weg und
String readLine = "x;y;z";

dazu noch ein vollständiges Programm drausgemacht (main-Methode, unbekannte nicht beteiligte Klassen wie NumData entfernen),
so dass es jeder testen kann, schon wären alle Fehler einfach zu finden
 
Ok hab jetzt herausgefunden das Fehler nicht beim Auslesen sondern beim erstellen des NumData-Objektes passiert. Aber ich hab mir hier im Programm die Exception ausgeben lassen und darum war ich wahrscheinlich die ganze Zeit auf der falschen Spur^^
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben