Package com.mongodb.client.gridfs
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 GridFSProvides the
GridFSFile
for the file to being downloaded as well as theread
methods of aInputStream
This implementation of a
InputStream
will not throwIOException
s. However, it will throw aMongoException
if there is an error reading from MongoDB.- Since:
- 3.1
-
-
Constructor Summary
Constructors Constructor Description GridFSDownloadStream()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract int
available()
abstract GridFSDownloadStream
batchSize(int batchSize)
Sets the number of chunks to return per batch.abstract void
close()
abstract GridFSFile
getGridFSFile()
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, readAllBytes, readNBytes, transferTo
-
-
-
-
Method Detail
-
getGridFSFile
public abstract GridFSFile getGridFSFile()
Gets the correspondingGridFSFile
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 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
-
-