Endlosschleife auf Scanner.hasNext, Lesen aus einer Datei

Ich stehe offenbar vor einer Endlosschleifewhile(input.hasNext()) , wie im folgenden Code

File file = new File("data.txt");
Scanner input = new Scanner(file);

int sum = 0;

while (input.hasNext()) {
    if (input.hasNextInt()) {
        sum += input.nextInt();
    }
}
System.out.println(sum);

Einige verwandte Fragen erklären, warum es immer true zurückgibt, wenn input stream istSystem.inIch scanne jedoch durch aFile.

Bitte lassen Sie mich wissen, wo ich falsch liege.

Ich versuche, die Summe der eindeutigen ganzzahligen Werte zu berechnen (Leerzeichen, wo sie auftreten).

Bearbeiten:

Lektion gelernt,input.hasNext() Bewegt den Zeiger nicht in die nächste Zeile und der Scanner bewegt sich daher nicht an Eingaben vorbei. Wie in den Antworten auf diese Frage sowie erläutertHier .

Antworten auf die Frage(3)

Ihre Antwort auf die Frage