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
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, skipNBytes, transferTo
-
Constructor Details
-
RandomAccessStream
Constructs a RandomAccessStream from an InputStream. Seeking backwards is supported using a memory cache. -
RandomAccessStream
Constructs a RandomAccessStream from an RandomAccessFile.
-
-
Method Details
-
getFilePointer
- Throws:
IOException
-
getLongFilePointer
- Throws:
IOException
-
read
- Specified by:
read
in classInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-
readFully
- Throws:
IOException
-
readFully
- Throws:
IOException
-
seek
- Throws:
IOException
-
seek
- Throws:
IOException
-
readInt
- Throws:
IOException
-
readLong
- Throws:
IOException
-
readDouble
- Throws:
IOException
-
readShort
- Throws:
IOException
-
readFloat
- Throws:
IOException
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInputStream
- Throws:
IOException
-