int len = 2048; if (n < len) len = (int) n; byte[] tmp = new byte[len]; return (long) read(tmp);
if (n == 0) return 0;  int buflen = (int) Math.min(n, 2048); byte[] tmpbuf = new byte[buflen];  long skipped = 0L; while (n > 0L) { int numread = read(tmpbuf, 0, buflen); if (numread <= 0) break; n -= numread; skipped += numread; buflen = (int) Math.min(n, 2048); }  return skipped;
  public long skip(long n) throws IOException  {    if (n < 0)      throw new IllegalArgumentException();    int len = 2048;    if (n < len)      len = (int) n;    byte[] tmp = new byte[len];    return (long) read(tmp);  }