Ich arbeite gerade an einem Projekt für meine Klasse, in dem ich ein Array, das Zahlen in einer Textdatei ist, sortieren muss. Ich habe einen Leser erstellt, um zu sehen, wie viele Werte ich in der TXT-Datei habe, so dass ich meine Array-Größe definieren kann, aber meine while() -Anweisung scheint gebrochen zu sein und geht in eine endlose Schleife, wenn .hasNextLine. Hier ist mein Code:Richtige Verwendung von Scanner.hasNextLine in Java?
File unsorted = new File("unsorted.txt");
int j = 0;//Counter for the amount of slots in the array
System.out.println("Executing file reading...");
try
{
Scanner input = new Scanner(unsorted);
while(input.hasNextLine()){
j++;//Scanner to count the length of the array
System.out.println(j);
}
input.close();
System.out.println("The file has " + j + " lines.");
}
catch (IOException ex){
System.out.printf("ERROR: Could not read file 'unsorted.txt'", ex);
}
System.out.println("File read.");
Meine Druckzeile nach dem try {} nicht immer drucken, statt, wenn ich den J Druck innerhalb der while() Schleife, geht es auf ewig. Die Datei hat vorerst 7 Werte, alle Zahlen.
Sie lesen nie die Zeile. Überprüfen Sie, ob es mehr Zeilen hat. Also sagt es immer "Ja", weil es immer noch in der ersten Zeile ist. – RealSkeptic
Danke ... Ich fühle mich jetzt ziemlich dumm ... – bordia
Mögliches Duplikat von http://StackOverflow.com/Questions/8352040/scanner-on-text-file-Hasnext-is-infinite –