Die Sun Documentation for DataInput.skipBytes besagt, dass es "versucht, n Bytes von Daten aus dem Eingabestream zu überspringen, die übersprungenen Bytes zu verwerfen. Es kann jedoch einige kleinere Anzahl von Bytes überspringen, möglicherweise Null. Dies kann von einem beliebigen sein Anzahl der Bedingungen; Erreichen des Dateiendes, bevor n Bytes übersprungen wurden, ist nur eine Möglichkeit. "Wann kann DataInputStream.skipBytes (n) n Bytes nicht überspringen?
Anders als das Ende der Datei erreicht, warum könnte
skipBytes()
nicht die richtige Anzahl von Bytes überspringen? (DieDataInputStream
ich verwende entweder eineFileInputStream
oder einePipedInputStream
werden Einwickeln.)Wenn ich auf jeden Fall überspringen wollen n Bytes und werfen einen
EOFException
wenn dies mir verursacht bis zum Ende der Datei zu gehen, sollte ichreadFully()
und das resultierende Byte-Array ignorieren? Oder gibt es einen besseren Weg?