Reading from CD image

Hi all.
I’m trying to implement a discjuggler cd images parser and reader in Java for a project of mine.It is currently simple, just gets the number of tracks , sessions and their info. My problem is that i will need to read sectors from the image onto a java array to process them in my app, and to get the info i’ve got already i had to byteswap the integers i read, so if i read a full sector that would involve byteswapping the whole sector.
I’m using normal byte arrays to hold the data, because in my test’s direct byte buffers read and writes are really slow when compared to normal byte array handling. Is there any way to speed this up?

Just a part of the code

##########################################################################

public static final int CDI_V2 =  0x80000004;
public static final int CDI_V3  = 0x80000005;
public static final int CDI_V35 = 0x80000006;


private RandomAccessFile seeker;
private image_s ImageInfo;

	
public CDI(String filename){
	try {
		seeker = new RandomAccessFile(filename,"r");
	} catch (FileNotFoundException e) {
	}
	ImageInfo = new image_s();
	cdi_init();
}


private final void cdi_init(){
	try {
		ImageInfo.length = seeker.length();
		
		seeker.seek(ImageInfo.length-8);
		
		System.out.println(ImageInfo.length);
		
		// LE
		ImageInfo.version = Integer.reverseBytes(seeker.readInt());
		
		printVersion();
					
		ImageInfo.header_offset = Integer.reverseBytes(seeker.readInt());
		
		System.out.println(ImageInfo.header_offset);
		
		CDI_get_sessions();
		
		System.out.println("This image has " + ImageInfo.sessions + "sessions");
		
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

private void CDI_get_sessions () throws IOException
{
     if (ImageInfo.version == CDI_V35)
    	 seeker.seek(ImageInfo.length - ImageInfo.header_offset);
     else
        seeker.seek(ImageInfo.header_offset);
     
     ImageInfo.sessions = seeker.readUnsignedByte();
}

##################################################################

As u can see to get the correct image version i had to byteswap the bytes and the same holds for the rest of my code.

All the best