ucar.jpeg.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 ucar.jpeg.jj2000.j2k.io.BinaryDataInput
getByteOrdering, readByte, readDouble, readFloat, readInt, readLong, readShort, readUnsignedByte, readUnsignedInt, readUnsignedShort, skipBytes
 
Methods inherited from interface ucar.jpeg.jj2000.j2k.io.BinaryDataOutput
flush, getByteOrdering, writeByte, writeDouble, writeFloat, writeInt, writeLong, writeShort
 

Method Detail

close

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

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

getPos

int getPos()
           throws 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:
IOException - If an I/O error ocurred.

length

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

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

seek

void seek(int off)
          throws 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:
EOFException - If in read-only and seeking beyond EOF.
IOException - If an I/O error ocurred.

read

int read()
         throws EOFException,
                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:
EOFException - If the end-of file was reached.
IOException - If an I/O error ocurred.

readFully

void readFully(byte[] b,
               int off,
               int len)
               throws 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:
EOFException - If the end-of file was reached before getting all the necessary data.
IOException - If an I/O error ocurred.

write

void write(int b)
           throws 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:
IOException - If an I/O error ocurred.


Copyright © 1999-2011 UCAR/Unidata. All Rights Reserved.