Class BoundedSeekableByteChannelInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.apache.commons.compress.archivers.sevenz.BoundedSeekableByteChannelInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
class BoundedSeekableByteChannelInputStream extends java.io.InputStream
-
-
Field Summary
Fields Modifier and Type Field Description private java.nio.ByteBufferbufferprivate longbytesRemainingprivate java.nio.channels.SeekableByteChannelchannelprivate static intMAX_BUF_LEN
-
Constructor Summary
Constructors Constructor Description BoundedSeekableByteChannelInputStream(java.nio.channels.SeekableByteChannel channel, long size)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()intread()intread(byte[] b, int off, int len)Reads up to len bytes of data from the input stream into an array of bytes.private intread(int len)
-
-
-
Field Detail
-
MAX_BUF_LEN
private static final int MAX_BUF_LEN
- See Also:
- Constant Field Values
-
buffer
private final java.nio.ByteBuffer buffer
-
channel
private final java.nio.channels.SeekableByteChannel channel
-
bytesRemaining
private long bytesRemaining
-
-
Method Detail
-
read
public int read() throws java.io.IOException- Specified by:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOExceptionReads up to len bytes of data from the input stream into an array of bytes.An attempt is made to read as many as len bytes, but a smaller number may be read. The number of bytes actually read is returned as an integer.
This implementation may return 0 if the underlying
SeekableByteChannelis non-blocking and currently hasn't got any bytes available.- Overrides:
readin classjava.io.InputStream- Throws:
java.io.IOException
-
read
private int read(int len) throws java.io.IOException- Throws:
java.io.IOException
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.InputStream
-
-