protected int read_(long pos, byte[] b, int offset, int len) throws IOException {
    """
	Read directly from file, without going through the buffer.
	All reading goes through here or readToByteChannel;
	
	@param pos    start here in the file
	@param b      put data into this buffer
	@param offset buffer offset
	@param len    this number of bytes
	@return actual number of bytes read
	@throws IOException on io error
    """
    file.seek(pos);
    int n = file.read(b, offset, len);
    if (debugAccess) {
      if (showRead)
        System.out.println(" **read_ " + location + " = " + len + " bytes at " + pos + "; block = " + (pos / buffer.length));
      debug_nseeks.incrementAndGet();
      debug_nbytes.addAndGet(len);
    }

    if (extendMode && (n < len)) {
      //System.out.println(" read_ = "+len+" at "+pos+"; got = "+n);
      n = len;
    }
    return n;
  }
protected int read_(long pos, byte[] b, int offset, int len) throws IOException {
    file.seek(pos);
    int n = file.read(b, offset, len);
    if (debugAccess) {
      if (showRead)
        System.out.println(" **read_ " + location + " = " + len + " bytes at " + pos + "; block = " + (pos / buffer.length));
      debug_nseeks.incrementAndGet();
      debug_nbytes.addAndGet(len);
    }

    if (extendMode && (n < len)) {
      //System.out.println(" read_ = "+len+" at "+pos+"; got = "+n);
      n = len;
    }
    return n;
  }
protected int read_ ( long pos , byte [ ] b , int offset , int len ) throws IOException { file . seek ( pos ) ; int n = file . read ( b , offset , len ) ; if ( debugAccess ) { if ( showRead ) System . out . println ( " **read_ " + location + " = " + len + " bytes at " + pos + "; block = " + ( pos / buffer . length ) ) ; debug_nseeks . incrementAndGet ( ) ; debug_nbytes . addAndGet ( len ) ; } if ( extendMode && ( n < len ) ) { //System.out.println(" read_ = "+len+" at "+pos+"; got = "+n);
 n = len ; } return n ; }
Read directly from file, without going through the buffer.
All reading goes through here or readToByteChannel;

@param pos    start here in the file
@param b      put data into this buffer
@param offset buffer offset
@param len    this number of bytes
@return actual number of bytes read
@throws IOException on io error
Read directly from file without going through the buffer . All reading goes through here or readToByteChannel ;