Class GridFSDownloadStream

java.lang.Object
java.io.InputStream
com.mongodb.client.gridfs.GridFSDownloadStream
All Implemented Interfaces:
Closeable, AutoCloseable

@NotThreadSafe public abstract class GridFSDownloadStream extends InputStream
A GridFS InputStream for downloading data from GridFS

Provides the GridFSFile for the file to being downloaded as well as the read methods of a InputStream

This implementation of a InputStream will not throw IOExceptions. However, it will throw a MongoException if there is an error reading from MongoDB.

Since:
3.1
  • Constructor Details

    • GridFSDownloadStream

      public GridFSDownloadStream()
  • Method Details

    • getGridFSFile

      public abstract GridFSFile getGridFSFile()
      Gets the corresponding GridFSFile for the file being downloaded
      Returns:
      the corresponding GridFSFile for the file being downloaded
    • batchSize

      public abstract GridFSDownloadStream batchSize(int batchSize)
      Sets the number of chunks to return per batch.

      Can be used to control the memory consumption of this InputStream. The smaller the batchSize the lower the memory consumption and higher latency.

      Parameters:
      batchSize - the batch size
      Returns:
      this
      MongoDB documentation
      Batch Size
    • read

      public abstract int read()
      Specified by:
      read in class InputStream
    • read

      public abstract int read(byte[] b)
      Overrides:
      read in class InputStream
    • read

      public abstract int read(byte[] b, int off, int len)
      Overrides:
      read in class InputStream
    • skip

      public abstract long skip(long n)
      Overrides:
      skip in class InputStream
    • available

      public abstract int available()
      Overrides:
      available in class InputStream
    • mark

      public abstract void mark()
      Marks the current position in this input stream.

      A subsequent call to the reset method repositions this stream at the last marked position so that subsequent reads re-read the same bytes.

    • reset

      public abstract void reset()
      Overrides:
      reset in class InputStream
    • close

      public abstract void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class InputStream