Package com.mongodb.client.gridfs
Class GridFSDownloadStream
java.lang.Object
java.io.InputStream
com.mongodb.client.gridfs.GridFSDownloadStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
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 IOException
s. However, it will throw a
MongoException
if there is an error reading from MongoDB.
- Since:
- 3.1
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract int
abstract GridFSDownloadStream
batchSize
(int batchSize) Sets the number of chunks to return per batch.abstract void
close()
abstract GridFSFile
Gets the correspondingGridFSFile
for the file being downloadedabstract void
mark()
Marks the current position in this input stream.abstract int
read()
abstract int
read
(byte[] b) abstract int
read
(byte[] b, int off, int len) abstract void
reset()
abstract long
skip
(long n) Methods inherited from class java.io.InputStream
mark, markSupported, nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Constructor Details
-
GridFSDownloadStream
public GridFSDownloadStream()
-
-
Method Details
-
getGridFSFile
Gets the correspondingGridFSFile
for the file being downloaded- Returns:
- the corresponding GridFSFile for the file being downloaded
-
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 classInputStream
-
read
public abstract int read(byte[] b) - Overrides:
read
in classInputStream
-
read
public abstract int read(byte[] b, int off, int len) - Overrides:
read
in classInputStream
-
skip
public abstract long skip(long n) - Overrides:
skip
in classInputStream
-
available
public abstract int available()- Overrides:
available
in classInputStream
-
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 classInputStream
-
close
public abstract void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInputStream
-