src/it/unimi/dsi/fastutil/io/FastBufferedInputStream.java
private long skipByReading(final long n) throws IOException {
		long toSkip = n;
		int len;
		while(toSkip > 0) {
			len = is.read(buffer, 0, (int)Math.min(buffer.length, toSkip));
			if (len > 0) toSkip -= len;
			else break;
		}

		return n - toSkip;
	}
private long skipByReading(final long n) throws IOException {
		long toSkip = n;
		int len;
		while(toSkip > 0) {
			len = is.read(buffer, 0, (int)Math.min(buffer.length, toSkip));
			if (len > 0) toSkip -= len;
			else break;
		}

		return n - toSkip;
	}
Skips the given amount of bytes by repeated reads.

<strong>Warning</strong>: this method uses destructively the internal buffer.

@param n the number of bytes to skip.
@return the number of bytes actually skipped.
@see InputStream#skip(long)