The skip() method may skip a smaller number of bytes than requested. Check the returned value to find out if it was the case or not. Example:
public class Foo { private FileInputStream _s = new FileInputStream("file"); public void skip(int n) throws IOException { _s.skip(n); // You are not sure that exactly n bytes are skipped } public void skipExactly(int n) throws IOException { while (n != 0) { long skipped = _s.skip(n); if (skipped == 0) throw new EOFException(); n -= skipped; } }
This rule is deprecated, use {rule:squid:S2674} instead.