public interface BasicInput
This interface has some similarities to DataInput
,
and that interface could have been used instead, but this one is
explicitly used for the hand-coded FITS reader implementation to
make clear which operations need to be efficient. At present
no multi-byte (or multi-other-primitive-type) read operations are
included, since it's not clear that these are required in practice
for efficient table input, though for (uncommon?) tables that have
columns with large array values that might not be true.
If that turns out to be an important use case, such methods can
be added to this interface, implemented in its implementations,
and used in the clients of this interface.
Instances of this are not expected to be safe for use from multiple threads. Depending on the implementation, ignoring that fact may be a very bad idea indeed.
Modifier and Type | Method and Description |
---|---|
void |
close()
Releases resources belonging to this object.
|
long |
getOffset()
Returns the curent position in this stream
(optional operation).
|
boolean |
isRandom()
Indicates whether this object supports random access.
|
byte |
readByte()
Reads a byte from the stream.
|
void |
readBytes(byte[] buf)
Reads bytes into an array from the stream.
|
double |
readDouble()
Reads an 8-byte floating point value from the stream.
|
float |
readFloat()
Reads a 4-byte floating point value from the stream.
|
int |
readInt()
Reads a 4-byte integer from the stream.
|
long |
readLong()
Reads an 8-byte integer from the stream.
|
short |
readShort()
Reads a 2-byte integer from the stream.
|
void |
seek(long offset)
Moves the current position of this stream to a given byte offset
(optional operation).
|
void |
skip(long nbyte)
Skips a given number of bytes forwards through the stream.
|
byte readByte() throws java.io.IOException
java.io.IOException
short readShort() throws java.io.IOException
java.io.IOException
int readInt() throws java.io.IOException
java.io.IOException
long readLong() throws java.io.IOException
java.io.IOException
float readFloat() throws java.io.IOException
java.io.IOException
double readDouble() throws java.io.IOException
java.io.IOException
void readBytes(byte[] buf) throws java.io.IOException
buf
- array into which the bytes are read;
the number of bytes read is the length of the arrayjava.io.IOException
void skip(long nbyte) throws java.io.IOException
nbyte
- number of bytes to skipjava.io.IOException
void close() throws java.io.IOException
java.io.IOException
boolean isRandom()
void seek(long offset) throws java.io.IOException
java.lang.UnsupportedOperationException
- if not random-accessjava.io.IOException
long getOffset()
java.lang.UnsupportedOperationException
- if not random-access