You are not logged in.

  • Login

Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Sunday, October 7th 2007, 11:21am

Dateiinhalt in Array - Anzahl der Zeilen?

Hallo,

also ich habe eine Textdatei, in der untereinander verschieden viele Zahlen stehen.
Also von 10 bis 10.000 Zeilen.
Diese Zahlen möchte ich in ein Array einlesen um damit weiterarbeiten zu können, allerdings möchte ich das Array nicht fest vordefinieren, sondern dies soll sich der Größe der Datei bzw. der Anzahl der Zeilen anpassen, damit die Verarbeitungszeit einigermaßen erträglich bleibt.

Momentan lese ich die Datei in ein fest definiertes Array ein. Der Code sieht wie folgt aus:

Java Quellcode

1
2
3
4
5
6
7
8
9
10
File f = new File( "pj-20"); 
 
		BufferedReader abc = new BufferedReader(new FileReader(f));
 
		for ( String line; (line = abc.readLine()) != null;)
		{
			eingelesen = Double.parseDouble(line);
			zahlen[c] = eingelesen;
			c++;
		}


Ich habe mal ein bisschen gegooglet und herausgefunden, dass ich mit f.length(); die Länge der Datei im Typ long zurückbekommen würde, allerdings bekomme ich bei einer Textdatei mit 20 Zeilen als Rückgabewert 120. Schaut also auf den ersten Blick etwas unbrauchbar aus. Gibt es da irgendwie eine Möglichkeit daran zu kommen, oder muss ich die Datei mit einem anderen Zugriff lesen?
Wäre über Hilfe sehr verbunden.

2

Sunday, October 7th 2007, 11:57am

Hi,
benutze besser eine ArrayList. Wenn die Liste nur aus Doubles besteht, kannst du auch gleich Generics verwenden.

Java Quellcode

1
2
3
4
ArrayList<Double> al = new ArrayList<Double>();
for(...) {
    al.add(Double.parseDouble(line));
}

3

Sunday, October 7th 2007, 12:44pm

Kann ich die Elemente einer ArrayList später auch über einen Index ansprechen? Also quasi genauso wie mit einem Array? Und komm ich auch irgendwie an die Anzahl der Elemente in der Liste? Weil das ist wichtig für mich, da ich damit weiter arbeite.

4

Sunday, October 7th 2007, 1:21pm

Kann ich die Elemente einer ArrayList später auch über einen Index ansprechen? Also quasi genauso wie mit einem Array? Und komm ich auch irgendwie an die Anzahl der Elemente in der Liste? Weil das ist wichtig für mich, da ich damit weiter arbeite.
Natürlich, geht beides einfach. (=
Über .get(index) sind die Elemente ansprechbar, .size() gibt die Anzahl zurück.

5

Sunday, October 7th 2007, 4:09pm

Super, hätte ich auch selber drauf kommen können....

Similar threads

Social bookmarks