public class JarFile extends ZipFile
JarFile
class is used to read the contents of a jar file
from any file that can be opened with java.io.RandomAccessFile
.
It extends the class java.util.zip.ZipFile
with support
for reading an optional Manifest
entry. The
Manifest
can be used to specify meta-information about the
jar file and its entries.
Unless otherwise noted, passing a null argument to a constructor
or method in this class will cause a NullPointerException
to be
thrown.
If the verify flag is on when opening a signed jar file, the content of the
file is verified against its signature embedded inside the file. Please note
that the verification process does not include validating the signer's
certificate. A caller should inspect the return value of
JarEntry.getCodeSigners()
to further determine if the signature
can be trusted.
Modifier and Type | Field and Description |
---|---|
static int |
CENATT |
static int |
CENATX |
static int |
CENCOM |
static int |
CENCRC |
static int |
CENDSK |
static int |
CENEXT |
static int |
CENFLG |
static int |
CENHDR |
static int |
CENHOW |
static int |
CENLEN |
static int |
CENNAM |
static int |
CENOFF |
static long |
CENSIG |
static int |
CENSIZ |
static int |
CENTIM |
static int |
CENVEM |
static int |
CENVER |
static int |
ENDCOM |
static int |
ENDHDR |
static int |
ENDOFF |
static long |
ENDSIG |
static int |
ENDSIZ |
static int |
ENDSUB |
static int |
ENDTOT |
static int |
EXTCRC |
static int |
EXTHDR |
static int |
EXTLEN |
static long |
EXTSIG |
static int |
EXTSIZ |
static int |
LOCCRC |
static int |
LOCEXT |
static int |
LOCFLG |
static int |
LOCHDR |
static int |
LOCHOW |
static int |
LOCLEN |
static int |
LOCNAM |
static long |
LOCSIG |
static int |
LOCSIZ |
static int |
LOCTIM |
static int |
LOCVER |
static String |
MANIFEST_NAME
The JAR manifest file name.
|
OPEN_DELETE, OPEN_READ
Constructor and Description |
---|
JarFile(File file)
Creates a new
JarFile to read from the specified
File object. |
JarFile(File file,
boolean verify)
Creates a new
JarFile to read from the specified
File object. |
JarFile(File file,
boolean verify,
int mode)
Creates a new
JarFile to read from the specified
File object in the specified mode. |
JarFile(String name)
Creates a new
JarFile to read from the specified
file name . |
JarFile(String name,
boolean verify)
Creates a new
JarFile to read from the specified
file name . |
Modifier and Type | Method and Description |
---|---|
Enumeration<JarEntry> |
entries()
Returns an enumeration of the zip file entries.
|
ZipEntry |
getEntry(String name)
Returns the
ZipEntry for the given entry name or
null if not found. |
InputStream |
getInputStream(ZipEntry ze)
Returns an input stream for reading the contents of the specified
zip file entry.
|
JarEntry |
getJarEntry(String name)
Returns the
JarEntry for the given entry name or
null if not found. |
Manifest |
getManifest()
Returns the jar file manifest, or
null if none. |
Stream<JarEntry> |
stream()
Return an ordered
Stream over the ZIP file entries. |
public static final String MANIFEST_NAME
public static final long LOCSIG
public static final long EXTSIG
public static final long CENSIG
public static final long ENDSIG
public static final int LOCHDR
public static final int EXTHDR
public static final int CENHDR
public static final int ENDHDR
public static final int LOCVER
public static final int LOCFLG
public static final int LOCHOW
public static final int LOCTIM
public static final int LOCCRC
public static final int LOCSIZ
public static final int LOCLEN
public static final int LOCNAM
public static final int LOCEXT
public static final int EXTCRC
public static final int EXTSIZ
public static final int EXTLEN
public static final int CENVEM
public static final int CENVER
public static final int CENFLG
public static final int CENHOW
public static final int CENTIM
public static final int CENCRC
public static final int CENSIZ
public static final int CENLEN
public static final int CENNAM
public static final int CENEXT
public static final int CENCOM
public static final int CENDSK
public static final int CENATT
public static final int CENATX
public static final int CENOFF
public static final int ENDSUB
public static final int ENDTOT
public static final int ENDSIZ
public static final int ENDOFF
public static final int ENDCOM
public JarFile(String name) throws IOException
JarFile
to read from the specified
file name
. The JarFile
will be verified if
it is signed.name
- the name of the jar file to be opened for readingIOException
- if an I/O error has occurredSecurityException
- if access to the file is denied
by the SecurityManagerpublic JarFile(String name, boolean verify) throws IOException
JarFile
to read from the specified
file name
.name
- the name of the jar file to be opened for readingverify
- whether or not to verify the jar file if
it is signed.IOException
- if an I/O error has occurredSecurityException
- if access to the file is denied
by the SecurityManagerpublic JarFile(File file) throws IOException
JarFile
to read from the specified
File
object. The JarFile
will be verified if
it is signed.file
- the jar file to be opened for readingIOException
- if an I/O error has occurredSecurityException
- if access to the file is denied
by the SecurityManagerpublic JarFile(File file, boolean verify) throws IOException
JarFile
to read from the specified
File
object.file
- the jar file to be opened for readingverify
- whether or not to verify the jar file if
it is signed.IOException
- if an I/O error has occurredSecurityException
- if access to the file is denied
by the SecurityManager.public JarFile(File file, boolean verify, int mode) throws IOException
JarFile
to read from the specified
File
object in the specified mode. The mode argument
must be either OPEN_READ or OPEN_READ | OPEN_DELETE.file
- the jar file to be opened for readingverify
- whether or not to verify the jar file if
it is signed.mode
- the mode in which the file is to be openedIOException
- if an I/O error has occurredIllegalArgumentException
- if the mode argument is invalidSecurityException
- if access to the file is denied
by the SecurityManagerpublic Manifest getManifest() throws IOException
null
if none.null
if noneIllegalStateException
- may be thrown if the jar file has been closedIOException
- if an I/O error has occurredpublic JarEntry getJarEntry(String name)
JarEntry
for the given entry name or
null
if not found.name
- the jar file entry nameJarEntry
for the given entry name or
null
if not found.IllegalStateException
- may be thrown if the jar file has been closedJarEntry
public ZipEntry getEntry(String name)
ZipEntry
for the given entry name or
null
if not found.getEntry
in class ZipFile
name
- the jar file entry nameZipEntry
for the given entry name or
null
if not foundIllegalStateException
- may be thrown if the jar file has been closedZipEntry
public Enumeration<JarEntry> entries()
public Stream<JarEntry> stream()
ZipFile
Stream
over the ZIP file entries.
Entries appear in the Stream
in the order they appear in
the central directory of the ZIP file.public InputStream getInputStream(ZipEntry ze) throws IOException
getInputStream
in class ZipFile
ze
- the zip file entryZipException
- if a zip file format error has occurredIOException
- if an I/O error has occurredSecurityException
- if any of the jar file entries
are incorrectly signed.IllegalStateException
- may be thrown if the jar file has been closed Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.