Hallo
ich habe hier eine Frage, die bestimmt ganz trivial ist, aber ich sehe es einfach nicht.
Ablauf:
- Zeile aus BufferedReader holen und mit split in ein Array umwandeln
- dieses 1D Array in die eine Zeile eines 2D Arrays schreiben
- die "Y-Koordinate" des Array um eins hochzählen
- solange das wiederholen, bis die im BufferedReader nichts mehr vorhanden ist
Das Codestückchen funktioniert auch, allerdings wirft es ganz im letzten Durchgang eine ArrayIndexOutOfBoundsException. Mir ist schon klar was das für ein Fehler ist, aber ich sehe diese Verletzung nicht :shock:
Es wird immer korrekt bis zum Ende gezählt, im letzten Schritt meine ich aber das auf das Element array.length bzw. getNumbersOfColumns zugegriffen wird. Das Array hat die Länge X und wird bei jeder Zeile bis X-1 angesprochen, der letzte Durchgang muss aber auf X zugreifen, aber ich sehs net...
P.S. :getNumberOfColumns gibt die Anzahl der Spalten zurück, diese sind identisch zu tempA.length.
Danke für Hilfe
Fry
ich habe hier eine Frage, die bestimmt ganz trivial ist, aber ich sehe es einfach nicht.
Code:
BufferedReader reader = new BufferedReader(new InputStreamReader(getUrl().openStream()));
int i = 0;
boolean done = false;
while(!done)
{
String line = reader.readLine();
if(line == null)
done = true;
else
{
//Die Zeile vom Lesen aufsplitten...
String[] tempA = line.split("\\t");
//...und in temporäres Array füllen
for(int j = 0; j < getNumbersOfColumns(); j++)
{
aArray[i][j] = tempA[j];
}
i++;
}
}
Ablauf:
- Zeile aus BufferedReader holen und mit split in ein Array umwandeln
- dieses 1D Array in die eine Zeile eines 2D Arrays schreiben
- die "Y-Koordinate" des Array um eins hochzählen
- solange das wiederholen, bis die im BufferedReader nichts mehr vorhanden ist
Das Codestückchen funktioniert auch, allerdings wirft es ganz im letzten Durchgang eine ArrayIndexOutOfBoundsException. Mir ist schon klar was das für ein Fehler ist, aber ich sehe diese Verletzung nicht :shock:
Es wird immer korrekt bis zum Ende gezählt, im letzten Schritt meine ich aber das auf das Element array.length bzw. getNumbersOfColumns zugegriffen wird. Das Array hat die Länge X und wird bei jeder Zeile bis X-1 angesprochen, der letzte Durchgang muss aber auf X zugreifen, aber ich sehs net...
P.S. :getNumberOfColumns gibt die Anzahl der Spalten zurück, diese sind identisch zu tempA.length.
Danke für Hilfe
Fry