Module ij
Package ij.io

Class RandomAccessStream

java.lang.Object
java.io.InputStream
ij.io.RandomAccessStream
All Implemented Interfaces:
java.io.Closeable, java.lang.AutoCloseable

public final class RandomAccessStream
extends java.io.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​(java.io.InputStream inputstream)
    Constructs a RandomAccessStream from an InputStream.
    RandomAccessStream​(java.io.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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RandomAccessStream

      public RandomAccessStream​(java.io.InputStream inputstream)
      Constructs a RandomAccessStream from an InputStream. Seeking backwards is supported using a memory cache.
    • RandomAccessStream

      public RandomAccessStream​(java.io.RandomAccessFile ras)
      Constructs a RandomAccessStream from an RandomAccessFile.
  • Method Details

    • getFilePointer

      public int getFilePointer() throws java.io.IOException
      Throws:
      java.io.IOException
    • getLongFilePointer

      public long getLongFilePointer() throws java.io.IOException
      Throws:
      java.io.IOException
    • read

      public int read() throws java.io.IOException
      Specified by:
      read in class java.io.InputStream
      Throws:
      java.io.IOException
    • read

      public int read​(byte[] bytes, int off, int len) throws java.io.IOException
      Overrides:
      read in class java.io.InputStream
      Throws:
      java.io.IOException
    • readFully

      public final void readFully​(byte[] bytes) throws java.io.IOException
      Throws:
      java.io.IOException
    • readFully

      public final void readFully​(byte[] bytes, int len) throws java.io.IOException
      Throws:
      java.io.IOException
    • seek

      public void seek​(long loc) throws java.io.IOException
      Throws:
      java.io.IOException
    • seek

      public void seek​(int loc) throws java.io.IOException
      Throws:
      java.io.IOException
    • readInt

      public final int readInt() throws java.io.IOException
      Throws:
      java.io.IOException
    • readLong

      public final long readLong() throws java.io.IOException
      Throws:
      java.io.IOException
    • readDouble

      public final double readDouble() throws java.io.IOException
      Throws:
      java.io.IOException
    • readShort

      public final short readShort() throws java.io.IOException
      Throws:
      java.io.IOException
    • readFloat

      public final float readFloat() throws java.io.IOException
      Throws:
      java.io.IOException
    • close

      public void close() throws java.io.IOException
      Specified by:
      close in interface java.lang.AutoCloseable
      Specified by:
      close in interface java.io.Closeable
      Overrides:
      close in class java.io.InputStream
      Throws:
      java.io.IOException