Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.util.jar
Class JarInputStream

    java.lang.Object
      |
      +--java.io.InputStream
            |
            +--java.io.FilterInputStream
                  |
                  +--java.util.zip.InflaterInputStream
                        |
                        +--java.util.zip.ZipInputStream
                              |
                              +--java.util.jar.JarInputStream

All Implemented Interfaces:
  java.util.zip.ZipConstants

public class JarInputStream
extends ZipInputStream

The `JarInputStream` class is used to read the contents of a JAR file from any input stream. It extends the class `java.util.zip.ZipInputStream` with support for reading an optional `Manifest` entry. The `Manifest` can be used to store meta-information about the JAR file and its entries.

Since:
  1.2
See Also:
  `Manifest`, `ZipInputStream`

Fields inherited from class java.util.zip.ZipInputStream
`CENATT, CENATX, CENCOM, CENCRC, CENDSK, CENEXT, CENFLG, CENHDR, CENHOW, CENLEN, CENNAM, CENOFF, CENSIG, CENSIZ, CENTIM, CENVEM, CENVER, ENDCOM, ENDHDR, ENDOFF, ENDSIG, ENDSIZ, ENDSUB, ENDTOT, EXTCRC, EXTHDR, EXTLEN, EXTSIG, EXTSIZ, LOCCRC, LOCEXT, LOCFLG, LOCHDR, LOCHOW, LOCLEN, LOCNAM, LOCSIG, LOCSIZ, LOCTIM, LOCVER`

Fields inherited from class java.util.zip.InflaterInputStream
`buf, inf, len`

Fields inherited from class java.io.FilterInputStream
`in`

Constructor Summary
`JarInputStream(InputStream in)` Creates a new `JarInputStream` and reads the optional manifest.
`JarInputStream(InputStream in, boolean verify)` Creates a new `JarInputStream` and reads the optional manifest.

Method Summary
`protected ZipEntry` | `createZipEntry(String name)` Creates a new `JarEntry` (`ZipEntry`) for the specified JAR file entry name.
`Manifest` | `getManifest()` Returns the `Manifest` for this JAR file, or `null` if none.
`ZipEntry` | `getNextEntry()` Reads the next ZIP file entry and positions stream at the beginning of the entry data.
`JarEntry` | `getNextJarEntry()` Reads the next JAR file entry and positions the stream at the beginning of the entry data.
`int` | `read(byte[] b, int off, int len)` Reads from the current JAR file entry into an array of bytes.

Methods inherited from class java.util.zip.ZipInputStream
`available, close, closeEntry, skip`

Methods inherited from class java.util.zip.InflaterInputStream
`fill, read`

Methods inherited from class java.io.FilterInputStream
`mark, markSupported, read, reset`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JarInputStream

    public JarInputStream(InputStream in)
                   throws IOException

  Creates a new `JarInputStream` and reads the optional manifest. If a manifest is present, also attempts to verify the signatures if the JarInputStream is signed.
  Parameters:
    `in` - the actual input stream
  Throws:
    `IOException` - if an I/O error has occurred

### JarInputStream

    public JarInputStream(InputStream in,
                          boolean verify)
                   throws IOException

  Creates a new `JarInputStream` and reads the optional manifest. If a manifest is present and verify is true, also attempts to verify the signatures if the JarInputStream is signed.
  Parameters:
    `in` - the actual input stream
    `verify` - whether or not to verify the JarInputStream if it is signed.
  Throws:
    `IOException` - if an I/O error has occurred

Method Detail

### getManifest

    public Manifest getManifest()

  Returns the `Manifest` for this JAR file, or `null` if none.
  Returns:
    the `Manifest` for this JAR file, or `null` if none.

### getNextEntry

    public ZipEntry getNextEntry()
                          throws IOException

  Reads the next ZIP file entry and positions stream at the beginning of the entry data.
  Overrides:
    `getNextEntry` in class `ZipInputStream`
  Throws:
    `ZipException` - if a ZIP file error has occurred
    `IOException` - if an I/O error has occurred

### getNextJarEntry

    public JarEntry getNextJarEntry()
                             throws IOException

  Reads the next JAR file entry and positions the stream at the beginning of the entry data.
  Returns:
    the next JAR file entry
  Throws:
    `ZipException` - if a ZIP file error has occurred
    `IOException` - if an I/O error has occurred

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws IOException

  Reads from the current JAR file entry into an array of bytes. Blocks until some input is available.
  Overrides:
    `read` in class `ZipInputStream`
  Parameters:
    `b` - the buffer into which the data is read
    `off` - the start offset of the data
    `len` - the maximum number of bytes to read
  Returns:
    the actual number of bytes read, or -1 if the end of the entry is reached
  Throws:
    `ZipException` - if a ZIP file error has occurred
    `IOException` - if an I/O error has occurred

### createZipEntry

    protected ZipEntry createZipEntry(String name)

  Creates a new `JarEntry` (`ZipEntry`) for the specified JAR file entry name.
  Overrides:
    `createZipEntry` in class `ZipInputStream`
  Parameters:
    `name` - the name of the JAR/ZIP file entry
  Returns:
    the `JarEntry` object just created

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.