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
* @param localPos - the new local postion in the stream. The localPos starts from 0.  
	 */
	public void seek( long localPos ) throws IOException 
	{
		if ( localPosToGlobalPos(localPos) >= endPos )
			throw new IOException("The seek position is out of range.");  
		seekParent( localPos );
		cur = localPos;
	}
	/**
	 * Convert the local position to global position.
	 * @param localPos - the local postion which starts from 0
	 * @return
	 */
	private long localPosToGlobalPos( long localPos )
	{
		return localPos + startPos;
	}
	
	/**
	 * Convert the local position to global position and move the file pointer to there in parent file.
	 * @param localPos - the local position which starts from 0
	 * @throws IOException
	 */
	private void seekParent( long localPos ) throws IOException
	{
		parent.seek( localPosToGlobalPos(localPos) );
	}
}