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.ByteBuffer
buffer
private long
bytesRemaining
private java.nio.channels.SeekableByteChannel
channel
private static int
MAX_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 void
close()
int
read()
int
read(byte[] b, int off, int len)
Reads up to len bytes of data from the input stream into an array of bytes.private int
read(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:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException
Reads 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
SeekableByteChannel
is non-blocking and currently hasn't got any bytes available.- Overrides:
read
in 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:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
-
-