net.sf.sevenzipjbinding.impl
Class SequentialInStreamImpl

java.lang.Object
  extended by net.sf.sevenzipjbinding.impl.SequentialInStreamImpl
All Implemented Interfaces:
ISequentialInStream

public class SequentialInStreamImpl
extends java.lang.Object
implements ISequentialInStream

Implementation of ISequentialInStream based on InputStream.

Version:
4.65-1
Author:
Boris Brodski

Constructor Summary
SequentialInStreamImpl(java.io.InputStream inputStream)
          Create instance of SequentialInStreamImpl based on InputStream
 
Method Summary
 java.io.InputStream getInputStream()
          Get underlaying input stream
 int read(byte[] data)
          Reads at least 1 and maximum data.length from the in-stream.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SequentialInStreamImpl

public SequentialInStreamImpl(java.io.InputStream inputStream)
Create instance of SequentialInStreamImpl based on InputStream

Parameters:
inputStream - input stream to use
Method Detail

read

public int read(byte[] data)
         throws SevenZipException
Reads at least 1 and maximum data.length 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.

Specified by:
read in interface ISequentialInStream
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 be called. The first thrown exception will be saved and thrown late on from the first called 7-Zip-JBinding main method, such as ISevenZipInArchive.extract() or SevenZip.openInArchive().

getInputStream

public java.io.InputStream getInputStream()
Get underlaying input stream

Returns:
input stream