net.sf.sevenzipjbinding
Interface ISequentialInStream
- All Superinterfaces:
- java.io.Closeable
- All Known Subinterfaces:
- IInStream
- All Known Implementing Classes:
- ByteArrayStream, InputStreamSequentialInStream, RandomAccessFileInStream, SequentialInStreamImpl, VolumedArchiveInStream
public interface ISequentialInStream
- extends java.io.Closeable
Interface used to operate with sequential input stream.
- Since:
- 4.65-1
- Author:
- Boris Brodski
Method Summary |
int |
read(byte[] data)
Reads at least 1 and maximum data.length bytes from the in-stream. |
Methods inherited from interface java.io.Closeable |
close |
read
int read(byte[] data)
throws SevenZipException
- Reads at least 1 and maximum
data.length
bytes from the in-stream. If data.length == 0
0 should be returned. If data.length != 0
, then return value 0 indicates end-of-stream (EOF). This
means no more bytes can be read from the stream.
This function is allowed to read less than number of remaining bytes in stream and less then
data.length
. You must call read()
function in loop, if you need exact amount of data.
Note: depending on the archive format and the data size this method may be called from different threads.
Synchronized implementation may be required.
- Parameters:
data
- buffer to get read data
- Returns:
- amount of bytes written in the
data
array. 0 - represents end of stream.
- Throws:
SevenZipException
- in error case. If this method ends with an exception, the current operation will be reported to 7-Zip
as failed. There are no guarantee, that there are no further call back methods will get called. The
first and last thrown exceptions will be saved and thrown later on from the originally called method
such as ISevenZipInArchive.extract()
or SevenZip.openInArchive()
. Up to
four exceptions depending on the situation can be saved for further analysis. See
SevenZipException
and SevenZipException.printStackTraceExtended()
for details.