public void read(byte[] buf,int offset,int len,int skip){
  if ((buf.length - offset) < len) {
    throw new IllegalArgumentException("Buffer size of " + buf.length + " is too small for a read of "+ len+ " bytes");
  }
  if ((available - skip) < len) {
    throw new IllegalStateException("Not enough data to read");
  }
  System.arraycopy(databuf,skipped + skip,buf,offset,len);
}

public void read ( byte [ ] buf , int offset , int len , int skip ) { if ( ( buf . length - offset ) < len ) { throw new IllegalArgumentException ( "Buffer size of " + buf . length + " is too small for a read of " + len + " bytes" ) ; } if ( ( available - skip ) < len ) { throw new IllegalStateException ( "Not enough data to read" ) ; } System . arraycopy ( databuf , skipped + skip , buf , offset , len ) ; }
read data from the buffer .
