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:
- 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
- Author:
- David Connelly
- 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 |
Method Summary |
protected ZipEntry |
createZipEntry(String name)
Creates a new JarEntry (ZipEntry ) for the
specified JAR file entry name. |
private byte[] |
getBytes(InputStream is)
|
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.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
man
private Manifest man
first
private JarEntry first
jv
private JarVerifier jv
mev
private sun.security.util.ManifestEntryVerifier mev
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 streamverify
- whether or not to verify the JarInputStream if
it is signed.
- Throws:
IOException
- if an I/O error has occurred
getBytes
private byte[] getBytes(InputStream is)
throws IOException
- Throws:
IOException
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 readoff
- the start offset of the datalen
- 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