Package net.sf.sevenzipjbinding.impl
Class InputStreamSequentialInStream
java.lang.Object
net.sf.sevenzipjbinding.impl.InputStreamSequentialInStream
- All Implemented Interfaces:
Closeable,AutoCloseable,ISequentialInStream
Input stream based implementation of
ISequentialInStream.- Since:
- 9.20-2.00
- Author:
- Boris Brodski
-
Constructor Summary
ConstructorsConstructorDescriptionInputStreamSequentialInStream(InputStream inputStream) Create new input stream based implementation ofISequentialInStream. -
Method Summary
-
Constructor Details
-
InputStreamSequentialInStream
Create new input stream based implementation ofISequentialInStream.- Parameters:
inputStream- base input stream.
-
-
Method Details
-
read
Reads at least 1 and maximumdata.lengthbytes from the in-stream. Ifdata.length == 00 should be returned. Ifdata.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 fewer than the number of remaining bytes in the stream and fewer thandata.length. You must call theread()function in a loop if you need an 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.- Specified by:
readin interfaceISequentialInStream- Parameters:
data- buffer to get read data- Returns:
- number of bytes read into the
dataarray; 0 indicates 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 is no guarantee that no further callback methods will be called. The first and last thrown exceptions will be saved and thrown later on from the originally called method such asIInArchive.extract()orSevenZip.openInArchive(). Up to four exceptions depending on the situation can be saved for further analysis. SeeSevenZipExceptionandSevenZipException.printStackTraceExtended()for details.
-
getInputStream
Returns base input stream- Returns:
- input stream
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-