JarInputStream
open class JarInputStream : ZipInputStream
| kotlin.Any | |||||
| ↳ | java.io.InputStream | ||||
| ↳ | java.io.FilterInputStream | ||||
| ↳ | java.util.zip.InflaterInputStream | ||||
| ↳ | java.util.zip.ZipInputStream | ||||
| ↳ | java.util.jar.JarInputStream | ||||
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.
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. |
| Public constructors | |
|---|---|
JarInputStream(in: InputStream!)Creates a new |
|
JarInputStream(in: InputStream!, verify: Boolean)Creates a new |
|
| Public methods | |
|---|---|
| open Manifest! |
Returns the |
| open ZipEntry! |
Reads the next ZIP file entry and positions the stream at the beginning of the entry data. |
| open JarEntry! |
Reads the next JAR file entry and positions the stream at the beginning of the entry data. |
| open Int |
Reads from the current JAR file entry into an array of bytes. |
| Protected methods | |
|---|---|
| open ZipEntry! |
createZipEntry(name: String!)Creates a new |
| Inherited functions | |
|---|---|
| Inherited properties | |
|---|---|
Constants
CENATT
static val CENATT: Int
Central directory (CEN) header internal file attributes field offset.
Value: 36CENATX
static val CENATX: Int
Central directory (CEN) header external file attributes field offset.
Value: 38CENCOM
static val CENCOM: Int
Central directory (CEN) header comment length field offset.
Value: 32CENCRC
static val CENCRC: Int
Central directory (CEN) header uncompressed file crc-32 value field offset.
Value: 16CENDSK
static val CENDSK: Int
Central directory (CEN) header disk number start field offset.
Value: 34CENEXT
static val CENEXT: Int
Central directory (CEN) header extra field length field offset.
Value: 30CENFLG
static val CENFLG: Int
Central directory (CEN) header encrypt, decrypt flags field offset.
Value: 8CENHDR
static val CENHDR: Int
Central directory (CEN) header size in bytes (including signature).
Value: 46CENHOW
static val CENHOW: Int
Central directory (CEN) header compression method field offset.
Value: 10CENLEN
static val CENLEN: Int
Central directory (CEN) header uncompressed size field offset.
Value: 24CENNAM
static val CENNAM: Int
Central directory (CEN) header filename length field offset.
Value: 28CENOFF
static val CENOFF: Int
Central directory (CEN) header LOC header offset field offset.
Value: 42CENSIG
static val CENSIG: Long
Central directory (CEN) header signature.
Value: 33639248LCENSIZ
static val CENSIZ: Int
Central directory (CEN) header compressed size field offset.
Value: 20CENTIM
static val CENTIM: Int
Central directory (CEN) header modification time field offset.
Value: 12CENVEM
static val CENVEM: Int
Central directory (CEN) header version made by field offset.
Value: 4CENVER
static val CENVER: Int
Central directory (CEN) header version needed to extract field offset.
Value: 6ENDCOM
static val ENDCOM: Int
End of central directory (END) header zip file comment length field offset.
Value: 20ENDHDR
static val ENDHDR: Int
End of central directory (END) header size in bytes (including signature).
Value: 22ENDOFF
static val ENDOFF: Int
End of central directory (END) header offset for the first CEN header field offset.
Value: 16ENDSIG
static val ENDSIG: Long
End of central directory (END) header signature.
Value: 101010256LENDSIZ
static val ENDSIZ: Int
End of central directory (END) header central directory size in bytes field offset.
Value: 12ENDSUB
static val ENDSUB: Int
End of central directory (END) header number of entries on this disk field offset.
Value: 8ENDTOT
static val ENDTOT: Int
End of central directory (END) header total number of entries field offset.
Value: 10EXTCRC
static val EXTCRC: Int
Extra local (EXT) header uncompressed file crc-32 value field offset.
Value: 4EXTHDR
static val EXTHDR: Int
Extra local (EXT) header size in bytes (including signature).
Value: 16EXTLEN
static val EXTLEN: Int
Extra local (EXT) header uncompressed size field offset.
Value: 12EXTSIG
static val EXTSIG: Long
Extra local (EXT) header signature.
Value: 134695760LEXTSIZ
static val EXTSIZ: Int
Extra local (EXT) header compressed size field offset.
Value: 8LOCCRC
static val LOCCRC: Int
Local file (LOC) header uncompressed file crc-32 value field offset.
Value: 14LOCEXT
static val LOCEXT: Int
Local file (LOC) header extra field length field offset.
Value: 28LOCFLG
static val LOCFLG: Int
Local file (LOC) header general purpose bit flag field offset.
Value: 6LOCHDR
static val LOCHDR: Int
Local file (LOC) header size in bytes (including signature).
Value: 30LOCHOW
static val LOCHOW: Int
Local file (LOC) header compression method field offset.
Value: 8LOCLEN
static val LOCLEN: Int
Local file (LOC) header uncompressed size field offset.
Value: 22LOCNAM
static val LOCNAM: Int
Local file (LOC) header filename length field offset.
Value: 26LOCSIG
static val LOCSIG: Long
Local file (LOC) header signature.
Value: 67324752LLOCSIZ
static val LOCSIZ: Int
Local file (LOC) header compressed size field offset.
Value: 18LOCTIM
static val LOCTIM: Int
Local file (LOC) header modification time field offset.
Value: 10LOCVER
static val LOCVER: Int
Local file (LOC) header version needed to extract field offset.
Value: 4Public constructors
JarInputStream
JarInputStream(in: InputStream!)
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 |
InputStream!: the actual input stream |
| Exceptions | |
|---|---|
java.io.IOException |
if an I/O error has occurred |
JarInputStream
JarInputStream(
in: InputStream!,
verify: Boolean)
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 |
InputStream!: the actual input stream |
verify |
Boolean: whether or not to verify the JarInputStream if it is signed. |
| Exceptions | |
|---|---|
java.io.IOException |
if an I/O error has occurred |
Public methods
getManifest
open fun getManifest(): Manifest!
Returns the Manifest for this JAR file, or null if none.
| Return | |
|---|---|
Manifest! |
the Manifest for this JAR file, or null if none. |
getNextEntry
open fun getNextEntry(): ZipEntry!
Reads the next ZIP file entry and positions the stream at the beginning of the entry data. If verification has been enabled, any invalid signature detected while positioning the stream for the next entry will result in an exception.
| Return | |
|---|---|
ZipEntry! |
the next ZIP file entry, or null if there are no more entries |
| Exceptions | |
|---|---|
java.util.zip.ZipException |
if (1) a ZIP file error has occurred or (2) targetSdkVersion >= BUILD.VERSION_CODES.UPSIDE_DOWN_CAKE and (the name argument contains ".." or starts with "/"). |
java.io.IOException |
if an I/O error has occurred |
java.util.zip.ZipException |
if a ZIP file error has occurred |
java.io.IOException |
if an I/O error has occurred |
java.lang.SecurityException |
if any of the jar file entries are incorrectly signed. |
getNextJarEntry
open fun getNextJarEntry(): JarEntry!
Reads the next JAR file entry and positions the stream at the beginning of the entry data. If verification has been enabled, any invalid signature detected while positioning the stream for the next entry will result in an exception.
| Return | |
|---|---|
JarEntry! |
the next JAR file entry, or null if there are no more entries |
| Exceptions | |
|---|---|
java.util.zip.ZipException |
if a ZIP file error has occurred |
java.io.IOException |
if an I/O error has occurred |
java.lang.SecurityException |
if any of the jar file entries are incorrectly signed. |
read
open fun read(
b: ByteArray!,
off: Int,
len: Int
): Int
Reads from the current JAR file entry into an array of bytes. If len is not zero, the method blocks until some input is available; otherwise, no bytes are read and 0 is returned. If verification has been enabled, any invalid signature on the current entry will be reported at some point before the end of the entry is reached.
| Parameters | |
|---|---|
b |
ByteArray!: the buffer into which the data is read |
off |
Int: the start offset in the destination array b |
len |
Int: the maximum number of bytes to read |
| Return | |
|---|---|
Int |
the actual number of bytes read, or -1 if the end of the entry is reached |
| Exceptions | |
|---|---|
java.io.IOException |
if an I/O error has occurred |
java.lang.NullPointerException |
if b is null. |
java.lang.IndexOutOfBoundsException |
if off is negative, len is negative, or len is greater than b.length - off |
java.util.zip.ZipException |
if a ZIP file error has occurred |
java.lang.NullPointerException |
If b is null. |
java.lang.IndexOutOfBoundsException |
If off is negative, len is negative, or len is greater than b.length - off |
java.util.zip.ZipException |
if a ZIP file error has occurred |
java.io.IOException |
if an I/O error has occurred |
java.lang.SecurityException |
if any of the jar file entries are incorrectly signed. |
Protected methods
createZipEntry
protected open fun createZipEntry(name: String!): ZipEntry!
Creates a new JarEntry (ZipEntry) for the specified JAR file entry name. The manifest attributes of the specified JAR file entry name will be copied to the new JarEntry.
| Parameters | |
|---|---|
name |
String!: the name of the JAR/ZIP file entry |
| Return | |
|---|---|
ZipEntry! |
the JarEntry object just created |