Bug 122666 Performance enhancement for RandomAccessFile
The readInt method for RandomAccessFile makes 4 calls to system, and the calls are not buffered.
core/org.eclipse.birt.core/src/org/eclipse/birt/core/archive/RAFileInputStream.java
* returned as an <code>int</code> in the range <code>0</code> to
     * <code>255</code>. If no byte is available because the end of the stream
     * has been reached, the value <code>-1</code> is returned. This method
     * blocks until input data is available, the end of the stream is detected,
     * or an exception is thrown.
     *
     * <p> A subclass must provide an implementation of this method.
     *
     * @return     the next byte of data, or <code>-1</code> if the end of the
     *             stream is reached.
     * @exception  IOException  if an I/O error occurs.
     */
	public int read() throws IOException 
	{
		if ( localPosToGlobalPos(cur) < endPos )
		{
			seekParent( cur );
			int ret = parent.read();
			if ( ret >= 0 )
				cur++;
			
			return ret;
		}
		else
		{
			return -1;
		}
	}
	
	public int read( byte b[], int off, int len ) throws IOException