public int read(byte b[],int off,int len) throws IOException, LogException {
  if (length < len)   badRead(len);
  len=in.read(b,off,len);
  length-=len;
  return len;
}

public int read ( byte b [ ] , int off , int len ) throws IOException , LogException { if ( length < len ) badRead ( len ) ; len = in . read ( b , off , len ) ; length -= len ; return len ; }
reads data into an array of bytes . this method blocks until some input is available .
