Package org.apache.commons.io.input
Class BufferedFileChannelInputStream
java.lang.Object
java.io.InputStream
org.apache.commons.io.input.BufferedFileChannelInputStream
- All Implemented Interfaces:
Closeable,AutoCloseable
InputStream implementation which uses direct buffer to read a file to avoid extra copy of data between Java and native memory which happens when
using BufferedInputStream. Unfortunately, this is not something already available in JDK, sun.nio.ch.ChannelInputStream supports
reading a file using NIO, but does not support buffering.
To build an instance, use BufferedFileChannelInputStream.Builder.
This class was ported and adapted from Apache Spark commit 933dc6cb7b3de1d8ccaf73d124d6eb95b947ed19 where it was called NioBufferedFileInputStream.
- Since:
- 2.9.0
- See Also:
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.BufferedFileChannelInputStream(File file, int bufferSize) Deprecated.Deprecated.BufferedFileChannelInputStream(Path path, int bufferSize) Deprecated. -
Method Summary
Methods inherited from class java.io.InputStream
mark, markSupported, read, reset
-
Constructor Details
-
BufferedFileChannelInputStream
Deprecated.Constructs a new instance for the given File.- Parameters:
file- The file to stream.- Throws:
IOException- If an I/O error occurs
-
BufferedFileChannelInputStream
Deprecated.Constructs a new instance for the given File and buffer size.- Parameters:
file- The file to stream.bufferSize- buffer size.- Throws:
IOException- If an I/O error occurs
-
BufferedFileChannelInputStream
Deprecated.Constructs a new instance for the given Path.- Parameters:
path- The path to stream.- Throws:
IOException- If an I/O error occurs
-
BufferedFileChannelInputStream
Deprecated.Constructs a new instance for the given Path and buffer size.- Parameters:
path- The path to stream.bufferSize- buffer size.- Throws:
IOException- If an I/O error occurs
-
-
Method Details
-
builder
Constructs a newBufferedFileChannelInputStream.Builder.- Returns:
- a new
BufferedFileChannelInputStream.Builder. - Since:
- 2.12.0
-
available
- Overrides:
availablein classInputStream- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classInputStream- Throws:
IOException
-
read
- Specified by:
readin classInputStream- Throws:
IOException
-
read
- Overrides:
readin classInputStream- Throws:
IOException
-
skip
- Overrides:
skipin classInputStream- Throws:
IOException
-
builder(),BufferedFileChannelInputStream.Builder, andBufferedFileChannelInputStream.Builder.get()