jj2000.j2k.io
Interface RandomAccessIO

All Superinterfaces:
BinaryDataInput, BinaryDataOutput
All Known Implementing Classes:
BEBufferedRandomAccessFile, BufferedRandomAccessFile, ISRandomAccessIO

public interface RandomAccessIO
extends BinaryDataInput, BinaryDataOutput

This abstract class defines the interface to perform random access I/O. It implements the BinaryDataInput and BinaryDataOutput interfaces so that binary data input/output can be performed.

This interface supports streams of up to 2 GB in length.

See Also:
BinaryDataInput, BinaryDataOutput

Method Summary
 void close()
          Closes the I/O stream.
 int getPos()
          Returns the current position in the stream, which is the position from where the next byte of data would be read.
 int length()
          Returns the current length of the stream, in bytes, taking into account any buffering.
 int read()
          Reads a byte of data from the stream.
 void readFully(byte[] b, int off, int len)
          Reads up to len bytes of data from this file into an array of bytes.
 void seek(int off)
          Moves the current position for the next read or write operation to offset.
 void write(int b)
          Writes a byte to the stream.
 
Methods inherited from interface jj2000.j2k.io.BinaryDataInput
getByteOrdering, readByte, readDouble, readFloat, readInt, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, skipBytes
 
Methods inherited from interface jj2000.j2k.io.BinaryDataOutput
flush, getByteOrdering, writeByte, writeDouble, writeFloat, writeInt, writeLong, writeShort
 

Method Detail

close

public void close()
           throws java.io.IOException
Closes the I/O stream. Prior to closing the stream, any buffered data (at the bit and byte level) should be written.

Throws:
java.io.IOException - If an I/O error ocurred.

getPos

public int getPos()
           throws java.io.IOException
Returns the current position in the stream, which is the position from where the next byte of data would be read. The first byte in the stream is in position 0.

Returns:
The offset of the current position, in bytes.
Throws:
java.io.IOException - If an I/O error ocurred.

length

public int length()
           throws java.io.IOException
Returns the current length of the stream, in bytes, taking into account any buffering.

Returns:
The length of the stream, in bytes.
Throws:
java.io.IOException - If an I/O error ocurred.

seek

public void seek(int off)
          throws java.io.IOException
Moves the current position for the next read or write operation to offset. The offset is measured from the beginning of the stream. The offset may be set beyond the end of the file, if in write mode. Setting the offset beyond the end of the file does not change the file length. The file length will change only by writing after the offset has been set beyond the end of the file.

Parameters:
off - The offset where to move to.
Throws:
java.io.EOFException - If in read-only and seeking beyond EOF.
java.io.IOException - If an I/O error ocurred.

read

public int read()
         throws java.io.EOFException,
                java.io.IOException
Reads a byte of data from the stream. Prior to reading, the stream is realigned at the byte level.

Returns:
The byte read, as an int.
Throws:
java.io.EOFException - If the end-of file was reached.
java.io.IOException - If an I/O error ocurred.

readFully

public void readFully(byte[] b,
                      int off,
                      int len)
               throws java.io.IOException
Reads up to len bytes of data from this file into an array of bytes. This method reads repeatedly from the stream until all the bytes are read. This method blocks until all the bytes are read, the end of the stream is detected, or an exception is thrown.

Parameters:
b - The buffer into which the data is to be read. It must be long enough.
off - The index in 'b' where to place the first byte read.
len - The number of bytes to read.
Throws:
java.io.EOFException - If the end-of file was reached before getting all the necessary data.
java.io.IOException - If an I/O error ocurred.

write

public void write(int b)
           throws java.io.IOException
Writes a byte to the stream. Prior to writing, the stream is realigned at the byte level.

Parameters:
b - The byte to write. The lower 8 bits of b are written.
Throws:
java.io.IOException - If an I/O error ocurred.