J
Java_Arraylist
Gast
Hallo,
ich versuche ein File, das in einer Zeile 17 Wörter, die durch leerzeichen oder Komma getrennt sind ,einzulesen.
Die Wörter speichere ich zuvor in einem Array und dieses Array füge ich dann in eine Arraylist ein. In dieser Arraylist sind dann so viele Arrays wie ich Zeilen in meinem File habe.
Die Arraylist möchte ich dann durchlaufen und jedes Array ausgeben (bzw. wird jedes Array in der Datenbank gespeichert). Mein Problem: es wird immer das selbe Array mit den Werten ausgegeben bzw. in der DB gespeichert.
D.h. Wenn ich 99 Zeilen habe, hätte ich in meiner Arraylist 99 Arrays. Wenn ich die Arraylist mit einer for each Schleife durchlaufe, wird aber immer nur das 99. Array ausgegeben und dass 99 mal. (immer das letzte Array mit der letzten Zeile im file)
Hier der Code....sieht vielleicht jemand den Fehler? Ich komme leider nicht weiter.
ich versuche ein File, das in einer Zeile 17 Wörter, die durch leerzeichen oder Komma getrennt sind ,einzulesen.
Die Wörter speichere ich zuvor in einem Array und dieses Array füge ich dann in eine Arraylist ein. In dieser Arraylist sind dann so viele Arrays wie ich Zeilen in meinem File habe.
Die Arraylist möchte ich dann durchlaufen und jedes Array ausgeben (bzw. wird jedes Array in der Datenbank gespeichert). Mein Problem: es wird immer das selbe Array mit den Werten ausgegeben bzw. in der DB gespeichert.
D.h. Wenn ich 99 Zeilen habe, hätte ich in meiner Arraylist 99 Arrays. Wenn ich die Arraylist mit einer for each Schleife durchlaufe, wird aber immer nur das 99. Array ausgegeben und dass 99 mal. (immer das letzte Array mit der letzten Zeile im file)
Hier der Code....sieht vielleicht jemand den Fehler? Ich komme leider nicht weiter.
Java:
StreamReader reader = new StreamReader(path);
int columnCounter =0;
String[] stdArray = new String[18];
ArrayList list = new Arraylist();
while(reader.Peek() > -1)
{
//reads the lines line by line
line = reader.ReadLine();
String [] words = line.Split(delimiterChars, StringSplitOptions.RemoveEmptyEntries);
foreach (String s in words)
{
if (columnCounter < stdArray.Length)
{
stdArray[columnCounter] = s;
columnCounter++;
}
}
stdArray[columnCounter] = "hours";
//StreamReader reads the next line
//therefore the columnCounter starts again at the beginning
columnCounter = 0;
//adds the Array to the list
list.Add(stdArray);
}//end while
//Ausgabe der Arraylist
foreach (String [] array in list) {
Console.Writeln(array[0]);
......
Console.Writeln(array[17]);
}