Fehler „java.util.NoSuchElementException: Keine Zeile gefunden“ beim Lesen aus Dateien mit dem Scanner behoben
Die „java.util.NoSuchElementException Der Fehler „Keine Zeile gefunden“ tritt auf, wenn der Scanner zum Lesen einer Datei verwendet wird und ein Dateiende (EOF) auftritt. Die Fehlermeldung weist darauf hin, dass keine weiteren Zeilen zum Lesen verfügbar sind.
Um diesen Fehler zu verhindern, muss überprüft werden, ob der Scanner über weitere Zeilen zum Lesen verfügt, bevor versucht wird, nextLine() aufzurufen. Die Scanner-Klasse stellt eine hasNextLine()-Methode bereit, um die Verfügbarkeit einer anderen Leitung zu prüfen.
Hier ist eine modifizierte Version des bereitgestellten Codes, die eine Prüfung für hasNextLine() enthält:
while (sc.hasNextLine()) { str = sc.nextLine(); // ... Other code here }
Durch die Verwendung von hasNextLine() stellen Sie sicher, dass die Methode nextLine() nur dann aufgerufen wird, wenn tatsächlich eine weitere Zeile zum Lesen vorhanden ist. Dadurch wird verhindert, dass die NoSuchElementException am Ende der Datei auftritt.
Beachten Sie, dass es auch ratsam ist, eine Schleifenvariable zu verwenden, um die Anzahl der verarbeiteten Zeilen zu verfolgen, wie im Originalcode gezeigt, um die verschiedenen Szenarien zu bewältigen ( z. B. „Standorte“, „Berufe“ und „Einzelpersonen“). Es ist jedoch wichtig, die Schleifenvariable nach der Verarbeitung jedes Zeilensatzes auf 0 zurückzusetzen.
Das obige ist der detaillierte Inhalt vonWie verhindert man „java.util.NoSuchElementException: Keine Zeile gefunden' bei Verwendung des Scanners in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!