# Java txt datei auslesen



## xvzwx (19. Nov 2009)

Hallo zusammen,
ich möchte eine txt Datei auslesen und die Werte in ein Array speichern, leider macht das Programm nicht das was es soll:


```
In.open("integer.txt");

while(In.done()){
array[m] = In.readInt();
m++;
}

In.close();
```

Warum werden die Werte nicht in das Array eingelesen? :bahnhof:


----------



## eRaaaa (19. Nov 2009)

ich vermute es liegt an
while(In.done())

änder mal in

while(!In.done())


----------



## faetzminator (19. Nov 2009)

In wird wohl irgendeine Klasse von euch sein? Das einzige, was mir hier nicht logisch erscheint: warum [c]while (In.done())[/c] und nicht [c]while (!In.done())[/c]?


----------



## xvzwx (19. Nov 2009)

weil In.done() true ist wenn er die datei fertig ausgelesen hat wird In.done auf false gesetzt, so hab ich es zumindest verstanden, verbessert mich wenn ich da falsch liege


----------



## eRaaaa (19. Nov 2009)

also ich gehe davon aus, dass es genau umgekehrt ist, daher probiers doch einfach mal aus!

wir können dir leider nicht mehr sagen, da diese klasse keine standard java klasse ist, sondern wahrscheinlich aus deiner uni/schule kommt ?!


----------



## xvzwx (19. Nov 2009)

mit while(!In.done()){...} wird eine endlos Schleife erzeugt,
ich hab das so aus dem Buch "Sprechen sie Java" übernommen, da lautet der genau Code:


```
In.open("input.txt")
int x = In.readInt();
while(In.done()){
 ... process x...
 x = In.readInt();
}
In.close();
```


----------



## faetzminator (19. Nov 2009)

Gibts da eine Onlineversion davon?


----------



## xvzwx (19. Nov 2009)

von dem Buch leider nicht aber hier ein Verweis zur In Klasse falls das irgendwie weiterhelfen kann.


----------



## eRaaaa (19. Nov 2009)

hm, die In.java würde helfen. glaube nicht dass jmd nun die klasse decompiliert 

aber mal noch was anderes: was erwartest du dir denn eig. von deinem oberen code(aus dem ersten post) ?

also ich meine, woher weisst du denn dass die werte NICHT im array sind? hast du das gedebuggt(gehe ich mal nicht von aus), oder bist du mal das array durchlaufen und hast die werte ausgeben?

und noch was: wie hast du denn das array deklariert usw.? kannst du mal den gesamten code posten?


----------



## xvzwx (19. Nov 2009)

ja sry hatte eben eine ausführbare .class datei als verweis, hab sie jetzt durch die .java datei ersetzt so das sie über jeden xbeliebigen editor zu öffnen geht.

so aber mein problem hat sich so eben erledigt, es lag an einer if Bedingung in der while schleife, also mit while(In.done()) funktioniert es. Trotzdem danke für die Antworten :toll:


----------



## Knuff (24. Nov 2009)

Hallo XVZWX!
ich habe gerade das gleiche Problem, wie du hattest.
habs versucht mit 


```
while(In.done()){
      array[zeilen] = In.readInt();
      zeilen++;
}
```
aber das array füllt sich nicht...was muss ich noch machen, damit die Zeilen aus einer Datei in dem Array stehn?

lg, Knuff


----------

