The skip()
method reads a specified number of bytes
and throws them away.
public int skip(long n) throws IOException
You might use this, for example, if you want to quickly move
past a standard header or prefix to some data. For example, in the
following code fragment skip()
is used to move past
some padding included in Java byte code to make sure that a jump
table entry for a switch
statement is aligned on a
four byte boundary:
case 171: // lookupswitch
pad = 3 - (position % 4);
dis.skip(pad);
defaultByte = dis.readInt();
int npairs = dis.readInt();
result = position + "lookup " + defaultByte + " " + npairs;
for (int i = 0; i < npairs; i++) {
int newPosition = position + pad + 12 + i*8;
result += "\n" + newPosition + " "
+ dis.readInt() + " " + dis.readInt();
}
(The complete program is included in Chapter 5 of my book, Java Secrets, IDG Books, 1997.)