Auflösen von „java.util.NoSuchElementException: Keine Zeile gefunden“ in Java
Beim Verwenden eines Scanners zum Lesen einer Datei kann Folgendes auftreten: ein Laufzeitfehler „java.util.NoSuchElementException: Keine Zeile gefunden“. Diese Ausnahme tritt normalerweise auf, wenn Sie versuchen, eine Zeile zu lesen, die nicht in der Datei vorhanden ist, was dazu führt, dass versucht wird, über das Ende der Datei hinaus zu lesen.
In Ihrem Code verwenden Sie einen Scanner (sc). um Zeilen aus einer Datei zu lesen. Innerhalb Ihrer while-Schleife rufen Sie sc.nextLine() auf, um jede Zeile abzurufen. Sie prüfen jedoch nicht, ob eine nächste Zeile vorhanden ist, bevor Sie versuchen, sie zu lesen. Wenn der Scanner das Ende der Datei erreicht und keine Zeilen mehr zum Lesen vorhanden sind, wird daher die Ausnahme ausgelöst.
Um dieses Problem zu beheben, sollten Sie die Methode hasNextLine() verwenden, um zu überprüfen, ob a Zeile muss noch gelesen werden, bevor sc.nextLine() verwendet wird. Durch die Integration dieser Prüfung können Sie den Versuch vermeiden, über das Ende der Datei hinaus zu lesen, und verhindern, dass die Ausnahme auftritt.
Hier ist eine überarbeitete Version Ihres Codes mit der implementierten hasNextLine()-Prüfung:
while (sc.hasNextLine()) { str = sc.nextLine(); // ... }
Durch die Einbeziehung dieser Prüfung versucht Ihr Code nur, eine Zeile zu lesen, wenn eine vorhanden ist, wodurch die Möglichkeit verringert wird, auf die Ausnahme „Keine Zeile gefunden“ zu stoßen, und sichergestellt wird, dass Ihr Programm so funktioniert beabsichtigt.
Das obige ist der detaillierte Inhalt vonWie behebt man „java.util.NoSuchElementException: Keine Zeile gefunden' beim Lesen von Dateien in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!