All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.sevenzipjbinding.IInStream Maven / Gradle / Ivy

The newest version!
package net.sf.sevenzipjbinding;

/**
 * InStream interface used to operate with seeable input stream
 * 
 * @author Boris Brodski
 * @version 4.65-1
 */
public interface IInStream extends ISequentialInStream {
	/**
	 * Indicates, that the seek operation should be done from the beginning of the stream
	 */
	public static final int SEEK_SET = 0;

	/**
	 * Indicates, that the seek operation should be done from the current position (file pointer) of the stream.
	 * Positive values move file pointer forward.
	 */
	public static final int SEEK_CUR = 1;

	/**
	 * Indicates, that the seek operation should be done from the end of the stream. Positive offset values move file
	 * pointer over the end of the stream. For the read only streams it's equivalent reaching end of the stream while
	 * reading.
	 */
	public static final int SEEK_END = 2;

	/**
	 * Move current location pointer to the new offset depending on seekOrigin
	 * 
	 * @param offset
	 *            absolute or relative offset in the stream to move to
	 * @param seekOrigin
	 *            on of three possible seek origins:
*
  • {@link #SEEK_SET} - offset is an absolute offset to move to,
  • * {@link #SEEK_CUR} - offset is a relative offset to the current position in stream,
    *
  • {@link #SEEK_END} - offset is an offset from the end of the stream * (offset <= 0). * * @return new absolute position in the 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(). */ public long seek(long offset, int seekOrigin) throws SevenZipException; }




  • © 2015 - 2024 Weber Informatics LLC | Privacy Policy