Wie sieht man, ob ein Reader auf EOF ist?

8

Mein Code muss alle Dateien einlesen. Derzeit verwende ich den folgenden Code:

%Vor%

Wenn die Datei momentan leer ist, dann ist s gleich Null, was nicht gut ist. Gibt es eine Reader , die eine atEOF() -Methode oder ein Äquivalent hat?

    
Matt Horn 15.09.2010, 01:35
quelle

4 Antworten

1

Ein Standardmuster für das, was Sie versuchen, ist:

%Vor%     
Synesso 15.09.2010, 01:39
quelle
3

Die Dokumentation sagt:

public int read() throws IOException
Rückgabe: Das Zeichen wird als Ganzzahl im Bereich von 0 bis 65535 (0x00-0xffff) oder -1 gelesen, wenn das Ende des Streams erreicht wurde.

Also sollte im Falle eines Readers gegen EOF wie

geprüft werden %Vor%

Bei einem BufferedReader und readLine () kann es sich um

handeln %Vor%

, weil readLine () bei EOF null zurückgibt.

    
18446744073709551615 27.02.2015 09:08
quelle
0

Die Methode ready () funktioniert nicht. Sie müssen aus dem Stream lesen und den Rückgabewert überprüfen, um zu sehen, ob Sie sich bei EOF befinden.

    
James K Polk 15.09.2010 02:08
quelle
0

Verwenden Sie diese Funktion:

%Vor%     
KIM Taegyoon 02.10.2015 04:38
quelle

Tags und Links