class RandomAccessFileInputStream extends InputStream {

  @Override
  public long skip(long n) throws IOException {
    if (n <= 0) {
      return 0;
    }
    int available = available();
    if (available <= 0) {
      return 0;
    }
    int skipAmount = (int) Math.min(available, n);
    raf.seek(raf.getFilePointer() + skipAmount);
    return skipAmount;
  }

  public  RandomAccessFileInputStream(File file);
  public  RandomAccessFileInputStream(File file, long rangeOffset, long rangeLength);

}