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
{
		long parentPos = localPosToGlobalPos(cur);
		long avaliableSize = endPos - parentPos;
		if ( avaliableSize > 0)
		{
			if (len > avaliableSize)
			{
				len = (int)avaliableSize;
			}
			seekParent( cur );
			int size = parent.read( b, off, len );
			if ( size > 0 )
			{
				cur += size;
			}
			return size;
		}
		return -1;
	}
    /**
     * The same behavior as RandomAccessFile.readInt(). <br>
     * Reads a signed 32-bit integer from this file. This method reads 4 
     * bytes from the file, starting at the current file pointer. 
     * If the bytes read, in order, are <code>b1</code>,
     * <code>b2</code>, <code>b3</code>, and <code>b4</code>, where 
     * <code>0&nbsp;&lt;=&nbsp;b1, b2, b3, b4&nbsp;&lt;=&nbsp;255</code>, 
     * then the result is equal to:
     * <blockquote><pre>
     *     (b1 &lt;&lt; 24) | (b2 &lt;&lt; 16) + (b3 &lt;&lt; 8) + b4
     * </pre></blockquote>