Package org.apache.commons.compress.archivers.jar

# Class JarArchiveInputStream

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
org.apache.commons.compress.archivers.ArchiveInputStream<ZipArchiveEntry>
org.apache.commons.compress.archivers.zip.ZipArchiveInputStream
org.apache.commons.compress.archivers.jar.JarArchiveInputStream

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `InputStreamStatistics`

public class JarArchiveInputStream extends ZipArchiveInputStream
Implements an input stream that can read entries from jar files.

This class is not thread-safe

- ## Field Summary

  ### Fields inherited from class org.apache.commons.compress.archivers.zip.ZipArchiveInputStream

  `PREAMBLE_GARBAGE_MAX_SIZE`

  ### Fields inherited from class java.io.FilterInputStream

  `in`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JarArchiveInputStream(InputStream inputStream)`
  Creates an instance from the input stream using the default encoding.
  `JarArchiveInputStream(InputStream inputStream, String encoding)`
  Creates an instance from the input stream using the specified encoding.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JarArchiveEntry`
  `getNextEntry()`
  Gets the next Archive Entry in this Stream.
  `JarArchiveEntry`
  `getNextJarEntry()`
  Deprecated.
  Use `getNextEntry()`.
  `static boolean`
  `matches(byte[] signature, int length)`
  Checks if the signature matches what is expected for a jar file (in this case it is the same as for a ZIP file).

  ### Methods inherited from class org.apache.commons.compress.archivers.zip.ZipArchiveInputStream

  `canReadEntryData, close, getCompressedCount, getNextZipEntry, getUncompressedCount, read, setExtraFieldSupport, skip`

  ### Methods inherited from class org.apache.commons.compress.archivers.ArchiveInputStream

  `count, count, getBytesRead, getCharset, getCount, pushedBackBytes, read`

  ### Methods inherited from class java.io.FilterInputStream

  `available, mark, markSupported, read, reset`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### JarArchiveInputStream

    public JarArchiveInputStream(InputStream inputStream)
    Creates an instance from the input stream using the default encoding.
    Parameters:
      `inputStream` - the input stream to wrap

  - ### JarArchiveInputStream

    public JarArchiveInputStream(InputStream inputStream, String encoding)
    Creates an instance from the input stream using the specified encoding.
    Parameters:
      `inputStream` - the input stream to wrap
      `encoding` - the encoding to use
    Since:
      1.10

- ## Method Details

  - ### matches

    public static boolean matches(byte[] signature, int length)
    Checks if the signature matches what is expected for a jar file (in this case it is the same as for a ZIP file).
    Parameters:
      `signature` - the bytes to check
      `length` - the number of bytes to check
    Returns:
      true, if this stream is a jar archive stream, false otherwise

  - ### getNextEntry

    public JarArchiveEntry getNextEntry() throws IOException
    Description copied from class: `ArchiveInputStream`
    Gets the next Archive Entry in this Stream.
    Overrides:
      `getNextEntry` in class `ZipArchiveInputStream`
    Returns:
      the next entry, or `null` if there are no more entries
    Throws:
      `IOException` - if the next entry could not be read

  - ### getNextJarEntry

    @Deprecated public JarArchiveEntry getNextJarEntry() throws IOException
    Deprecated.
    Use `getNextEntry()`.
    Gets the next entry.
    Returns:
      the next entry.
    Throws:
      `IOException` - if an I/O error occurs.