Sun Documentation for DataInput.skipBytes indica que "hace un intento de omitir n bytes de datos de la secuencia de entrada, descartando los bytes omitidos. Sin embargo, puede pasar por alto un número menor de bytes, posiblemente cero. Esto puede ser el resultado de cualquiera de número de condiciones: llegar al final del archivo antes de que se hayan omitido n bytes es solo una posibilidad ".¿Cuándo puede DataInputStream.skipBytes (n) omitir bytes?
Aparte de llegar al final del archivo, ¿por qué podría
skipBytes()
se salte el número correcto de bytes? (ElDataInputStream
estoy usando, o bien ser envolver unaFileInputStream
o unaPipedInputStream
.)Si Definitivamente quiero saltar n bytes y lanzar un
EOFException
si esto me hace ir al final del archivo, debería usarreadFully()
e ignorar la matriz de bytes resultante? ¿O hay un mejor camino?