Package ij.io
Class RandomAccessStream
- java.lang.Object
-
- java.io.InputStream
-
- ij.io.RandomAccessStream
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public final class RandomAccessStream extends InputStream
This class uses a memory cache to allow seeking within an InputStream. Based on the JAI MemoryCacheSeekableStream class. Can also be constructed from a RandomAccessFile, which uses less memory since the memory cache is not required.
-
-
Constructor Summary
Constructors Constructor Description RandomAccessStream(InputStream inputstream)
Constructs a RandomAccessStream from an InputStream.RandomAccessStream(RandomAccessFile ras)
Constructs a RandomAccessStream from an RandomAccessFile.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
int
getFilePointer()
long
getLongFilePointer()
int
read()
int
read(byte[] bytes, int off, int len)
double
readDouble()
float
readFloat()
void
readFully(byte[] bytes)
void
readFully(byte[] bytes, int len)
int
readInt()
long
readLong()
short
readShort()
void
seek(int loc)
void
seek(long loc)
-
Methods inherited from class java.io.InputStream
available, mark, markSupported, nullInputStream, read, readAllBytes, readNBytes, readNBytes, reset, skip, transferTo
-
-
-
-
Constructor Detail
-
RandomAccessStream
public RandomAccessStream(InputStream inputstream)
Constructs a RandomAccessStream from an InputStream. Seeking backwards is supported using a memory cache.
-
RandomAccessStream
public RandomAccessStream(RandomAccessFile ras)
Constructs a RandomAccessStream from an RandomAccessFile.
-
-
Method Detail
-
getFilePointer
public int getFilePointer() throws IOException
- Throws:
IOException
-
getLongFilePointer
public long getLongFilePointer() throws IOException
- Throws:
IOException
-
read
public int read() throws IOException
- Specified by:
read
in classInputStream
- Throws:
IOException
-
read
public int read(byte[] bytes, int off, int len) throws IOException
- Overrides:
read
in classInputStream
- Throws:
IOException
-
readFully
public final void readFully(byte[] bytes) throws IOException
- Throws:
IOException
-
readFully
public final void readFully(byte[] bytes, int len) throws IOException
- Throws:
IOException
-
seek
public void seek(long loc) throws IOException
- Throws:
IOException
-
seek
public void seek(int loc) throws IOException
- Throws:
IOException
-
readInt
public final int readInt() throws IOException
- Throws:
IOException
-
readLong
public final long readLong() throws IOException
- Throws:
IOException
-
readDouble
public final double readDouble() throws IOException
- Throws:
IOException
-
readShort
public final short readShort() throws IOException
- Throws:
IOException
-
readFloat
public final float readFloat() throws IOException
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInputStream
- Throws:
IOException
-
-