JarFile
open class JarFile : ZipFile
kotlin.Any | ||
↳ | java.util.zip.ZipFile | |
↳ | java.util.jar.JarFile |
The 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.
Summary
Constants | |
---|---|
static Int |
Central directory (CEN) header internal file attributes field offset. |
static Int |
Central directory (CEN) header external file attributes field offset. |
static Int |
Central directory (CEN) header comment length field offset. |
static Int |
Central directory (CEN) header uncompressed file crc-32 value field offset. |
static Int |
Central directory (CEN) header disk number start field offset. |
static Int |
Central directory (CEN) header extra field length field offset. |
static Int |
Central directory (CEN) header encrypt, decrypt flags field offset. |
static Int |
Central directory (CEN) header size in bytes (including signature). |
static Int |
Central directory (CEN) header compression method field offset. |
static Int |
Central directory (CEN) header uncompressed size field offset. |
static Int |
Central directory (CEN) header filename length field offset. |
static Int |
Central directory (CEN) header LOC header offset field offset. |
static Long |
Central directory (CEN) header signature. |
static Int |
Central directory (CEN) header compressed size field offset. |
static Int |
Central directory (CEN) header modification time field offset. |
static Int |
Central directory (CEN) header version made by field offset. |
static Int |
Central directory (CEN) header version needed to extract field offset. |
static Int |
End of central directory (END) header zip file comment length field offset. |
static Int |
End of central directory (END) header size in bytes (including signature). |
static Int |
End of central directory (END) header offset for the first CEN header field offset. |
static Long |
End of central directory (END) header signature. |
static Int |
End of central directory (END) header central directory size in bytes field offset. |
static Int |
End of central directory (END) header number of entries on this disk field offset. |
static Int |
End of central directory (END) header total number of entries field offset. |
static Int |
Extra local (EXT) header uncompressed file crc-32 value field offset. |
static Int |
Extra local (EXT) header size in bytes (including signature). |
static Int |
Extra local (EXT) header uncompressed size field offset. |
static Long |
Extra local (EXT) header signature. |
static Int |
Extra local (EXT) header compressed size field offset. |
static Int |
Local file (LOC) header uncompressed file crc-32 value field offset. |
static Int |
Local file (LOC) header extra field length field offset. |
static Int |
Local file (LOC) header general purpose bit flag field offset. |
static Int |
Local file (LOC) header size in bytes (including signature). |
static Int |
Local file (LOC) header compression method field offset. |
static Int |
Local file (LOC) header uncompressed size field offset. |
static Int |
Local file (LOC) header filename length field offset. |
static Long |
Local file (LOC) header signature. |
static Int |
Local file (LOC) header compressed size field offset. |
static Int |
Local file (LOC) header modification time field offset. |
static Int |
Local file (LOC) header version needed to extract field offset. |
static String |
The JAR manifest file name. |
Inherited constants | |
---|---|
Public constructors | |
---|---|
Creates a new |
|
Creates a new |
|
Creates a new |
|
Creates a new |
|
Creates a new |
Public methods | |
---|---|
open Enumeration<JarEntry!>! |
entries() Returns an enumeration of the zip file entries. |
open ZipEntry! |
Returns the |
open InputStream! |
getInputStream(ze: ZipEntry!) Returns an input stream for reading the contents of the specified zip file entry. |
open JarEntry! |
getJarEntry(name: String!) Returns the |
open Manifest! |
Returns the jar file manifest, or |
open Stream<JarEntry!>! |
stream() |
Inherited functions | |
---|---|
Constants
CENATT
static val CENATT: Int
Central directory (CEN) header internal file attributes field offset.
Value: 36
CENATX
static val CENATX: Int
Central directory (CEN) header external file attributes field offset.
Value: 38
CENCOM
static val CENCOM: Int
Central directory (CEN) header comment length field offset.
Value: 32
CENCRC
static val CENCRC: Int
Central directory (CEN) header uncompressed file crc-32 value field offset.
Value: 16
CENDSK
static val CENDSK: Int
Central directory (CEN) header disk number start field offset.
Value: 34
CENEXT
static val CENEXT: Int
Central directory (CEN) header extra field length field offset.
Value: 30
CENFLG
static val CENFLG: Int
Central directory (CEN) header encrypt, decrypt flags field offset.
Value: 8
CENHDR
static val CENHDR: Int
Central directory (CEN) header size in bytes (including signature).
Value: 46
CENHOW
static val CENHOW: Int
Central directory (CEN) header compression method field offset.
Value: 10
CENLEN
static val CENLEN: Int
Central directory (CEN) header uncompressed size field offset.
Value: 24
CENNAM
static val CENNAM: Int
Central directory (CEN) header filename length field offset.
Value: 28
CENOFF
static val CENOFF: Int
Central directory (CEN) header LOC header offset field offset.
Value: 42
CENSIG
static val CENSIG: Long
Central directory (CEN) header signature.
Value: 33639248L
CENSIZ
static val CENSIZ: Int
Central directory (CEN) header compressed size field offset.
Value: 20
CENTIM
static val CENTIM: Int
Central directory (CEN) header modification time field offset.
Value: 12
CENVEM
static val CENVEM: Int
Central directory (CEN) header version made by field offset.
Value: 4
CENVER
static val CENVER: Int
Central directory (CEN) header version needed to extract field offset.
Value: 6
ENDCOM
static val ENDCOM: Int
End of central directory (END) header zip file comment length field offset.
Value: 20
ENDHDR
static val ENDHDR: Int
End of central directory (END) header size in bytes (including signature).
Value: 22
ENDOFF
static val ENDOFF: Int
End of central directory (END) header offset for the first CEN header field offset.
Value: 16
ENDSIG
static val ENDSIG: Long
End of central directory (END) header signature.
Value: 101010256L
ENDSIZ
static val ENDSIZ: Int
End of central directory (END) header central directory size in bytes field offset.
Value: 12
ENDSUB
static val ENDSUB: Int
End of central directory (END) header number of entries on this disk field offset.
Value: 8
ENDTOT
static val ENDTOT: Int
End of central directory (END) header total number of entries field offset.
Value: 10
EXTCRC
static val EXTCRC: Int
Extra local (EXT) header uncompressed file crc-32 value field offset.
Value: 4
EXTHDR
static val EXTHDR: Int
Extra local (EXT) header size in bytes (including signature).
Value: 16
EXTLEN
static val EXTLEN: Int
Extra local (EXT) header uncompressed size field offset.
Value: 12
EXTSIG
static val EXTSIG: Long
Extra local (EXT) header signature.
Value: 134695760L
EXTSIZ
static val EXTSIZ: Int
Extra local (EXT) header compressed size field offset.
Value: 8
LOCCRC
static val LOCCRC: Int
Local file (LOC) header uncompressed file crc-32 value field offset.
Value: 14
LOCEXT
static val LOCEXT: Int
Local file (LOC) header extra field length field offset.
Value: 28
LOCFLG
static val LOCFLG: Int
Local file (LOC) header general purpose bit flag field offset.
Value: 6
LOCHDR
static val LOCHDR: Int
Local file (LOC) header size in bytes (including signature).
Value: 30
LOCHOW
static val LOCHOW: Int
Local file (LOC) header compression method field offset.
Value: 8
LOCLEN
static val LOCLEN: Int
Local file (LOC) header uncompressed size field offset.
Value: 22
LOCNAM
static val LOCNAM: Int
Local file (LOC) header filename length field offset.
Value: 26
LOCSIG
static val LOCSIG: Long
Local file (LOC) header signature.
Value: 67324752L
LOCSIZ
static val LOCSIZ: Int
Local file (LOC) header compressed size field offset.
Value: 18
LOCTIM
static val LOCTIM: Int
Local file (LOC) header modification time field offset.
Value: 10
LOCVER
static val LOCVER: Int
Local file (LOC) header version needed to extract field offset.
Value: 4
MANIFEST_NAME
static val MANIFEST_NAME: String
The JAR manifest file name.
Value: "META-INF/MANIFEST.MF"
Public constructors
JarFile
JarFile(file: File!)
Creates a new JarFile
to read from the specified File
object. The JarFile
will be verified if it is signed.
Parameters | |
---|---|
file |
File!: the jar file to be opened for reading |
Exceptions | |
---|---|
java.io.IOException |
if an I/O error has occurred |
java.lang.SecurityException |
if access to the file is denied by the SecurityManager |
JarFile
JarFile(
file: File!,
verify: Boolean)
Creates a new JarFile
to read from the specified File
object.
Parameters | |
---|---|
file |
File!: the jar file to be opened for reading |
verify |
Boolean: whether or not to verify the jar file if it is signed. |
Exceptions | |
---|---|
java.io.IOException |
if an I/O error has occurred |
java.lang.SecurityException |
if access to the file is denied by the SecurityManager. |
JarFile
JarFile(
file: File!,
verify: Boolean,
mode: Int)
Creates a new 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.
Parameters | |
---|---|
file |
File!: the jar file to be opened for reading |
verify |
Boolean: whether or not to verify the jar file if it is signed. |
mode |
Int: the mode in which the file is to be opened |
Exceptions | |
---|---|
java.io.IOException |
if an I/O error has occurred |
java.lang.IllegalArgumentException |
if the mode argument is invalid |
java.lang.SecurityException |
if access to the file is denied by the SecurityManager |
JarFile
JarFile(name: String!)
Creates a new JarFile
to read from the specified file name
. The JarFile
will be verified if it is signed.
Parameters | |
---|---|
name |
String!: the name of the jar file to be opened for reading |
Exceptions | |
---|---|
java.io.IOException |
if an I/O error has occurred |
java.lang.SecurityException |
if access to the file is denied by the SecurityManager |
JarFile
JarFile(
name: String!,
verify: Boolean)
Creates a new JarFile
to read from the specified file name
.
Parameters | |
---|---|
name |
String!: the name of the jar file to be opened for reading |
verify |
Boolean: whether or not to verify the jar file if it is signed. |
Exceptions | |
---|---|
java.io.IOException |
if an I/O error has occurred |
java.lang.SecurityException |
if access to the file is denied by the SecurityManager |
Public methods
entries
open fun entries(): Enumeration<JarEntry!>!
Returns an enumeration of the zip file entries.
Return | |
---|---|
Enumeration<JarEntry!>! |
an enumeration of the ZIP file entries |
Exceptions | |
---|---|
java.lang.IllegalStateException |
if the zip file has been closed |
getEntry
open fun getEntry(name: String!): ZipEntry!
Returns the ZipEntry
for the given entry name or null
if not found.
Parameters | |
---|---|
name |
String!: the jar file entry name |
Return | |
---|---|
ZipEntry! |
the ZipEntry for the given entry name or null if not found |
Exceptions | |
---|---|
java.lang.IllegalStateException |
may be thrown if the jar file has been closed |
See Also
getInputStream
open fun getInputStream(ze: ZipEntry!): InputStream!
Returns an input stream for reading the contents of the specified zip file entry.
Parameters | |
---|---|
entry |
the zip file entry |
ze |
ZipEntry!: the zip file entry |
Return | |
---|---|
InputStream! |
an input stream for reading the contents of the specified zip file entry |
Exceptions | |
---|---|
java.util.zip.ZipException |
if a zip file format error has occurred |
java.io.IOException |
if an I/O error has occurred |
java.lang.IllegalStateException |
may be thrown if the jar file has been closed |
java.lang.SecurityException |
if any of the jar file entries are incorrectly signed. |
getJarEntry
open fun getJarEntry(name: String!): JarEntry!
Returns the JarEntry
for the given entry name or null
if not found.
Parameters | |
---|---|
name |
String!: the jar file entry name |
Return | |
---|---|
JarEntry! |
the JarEntry for the given entry name or null if not found. |
Exceptions | |
---|---|
java.lang.IllegalStateException |
may be thrown if the jar file has been closed |
See Also
getManifest
open fun getManifest(): Manifest!
Returns the jar file manifest, or null
if none.
Return | |
---|---|
Manifest! |
the jar file manifest, or null if none |
Exceptions | |
---|---|
java.lang.IllegalStateException |
may be thrown if the jar file has been closed |
java.io.IOException |
if an I/O error has occurred |
stream
open fun stream(): Stream<JarEntry!>!
Return | |
---|---|
Stream<JarEntry!>! |
an ordered Stream of entries in this ZIP file |
Exceptions | |
---|---|
java.lang.IllegalStateException |
if the zip file has been closed |