Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | 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`

Field Summary

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`
  Returns:
    the ZipEntry just read
  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.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | 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.

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.