java.lang.Object java.io.InputStream java.io.FilterInputStream java.util.zip.InflaterInputStream java.util.zip.ZipInputStream java.util.jar.JarInputStream
public class JarInputStream
JarInputStream
类用于从任何输入流读取 JAR 文件内容。它扩展了 java.util.zip.ZipInputStream
类,使之支持读取可选的 Manifest
条目。Manifest
可用于存储有关 JAR 文件及其条目的元信息。
Manifest
,
ZipInputStream
字段摘要 | |
---|---|
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 |
从类 java.util.zip.InflaterInputStream 继承的字段 |
---|
buf, inf, len |
从类 java.io.FilterInputStream 继承的字段 |
---|
in |
构造方法摘要 | |
---|---|
JarInputStream(InputStream in) 创建新的 JarInputStream 并读取可选的清单。 |
|
JarInputStream(InputStream in, boolean verify) 创建新的 JarInputStream 并读取可选的清单。 |
方法摘要 | |
---|---|
protected ZipEntry |
createZipEntry(String name) 为指定的 JAR 文件条目名称创建新的 JarEntry (ZipEntry )。 |
Manifest |
getManifest() 返回此 JAR 文件的 Manifest ;如果没有,则返回 null 。 |
ZipEntry |
getNextEntry() 读取下一个 ZIP 文件条目,并将流定位于此条目数据的开始处。 |
JarEntry |
getNextJarEntry() 读取下一个 JAR 文件条目,并将流定位于此条目数据的开始处。 |
int |
read(byte[] b, int off, int len) 从当前 JAR 文件条目读入字节数组。 |
从类 java.util.zip.ZipInputStream 继承的方法 |
---|
available, close, closeEntry, skip |
从类 java.util.zip.InflaterInputStream 继承的方法 |
---|
fill, mark, markSupported, read, reset |
从类 java.io.FilterInputStream 继承的方法 |
---|
read |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
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 JarInputStream(InputStream in) throws IOException
JarInputStream
并读取可选的清单。如果清单存在,则若 JarInputStream 是签名的,还要试图验证签名。
in
- 实际输入流
IOException
- 如果发生 I/O 错误
public JarInputStream(InputStream in, boolean verify) throws IOException
JarInputStream
并读取可选的清单。如果清单存在并验证为 true,则若 JarInputStream 是签名的,还要试图验证签名。
in
- 实际输入流
verify
- 如果 JarInputStream 是签名的,是否需要验证。
IOException
- 如果发生 I/O 错误
方法详细信息 |
---|
public Manifest getManifest()
Manifest
;如果没有,则返回
null
。
Manifest
;如果没有,则返回
null
。
public ZipEntry getNextEntry() throws IOException
ZipInputStream
中的
getNextEntry
ZipException
- 如果发生 ZIP 文件错误
IOException
- 如果发生 I/O 错误
SecurityException
- 如果有任何未正确签名的 jar 文件条目。
public JarEntry getNextJarEntry() throws IOException
ZipException
- 如果发生 ZIP 文件错误
IOException
- 如果发生 I/O 错误
SecurityException
- 如果有任何未正确签名的 jar 文件条目。
public int read(byte[] b, int off, int len) throws IOException
len
不为零,则在某个输入可用之前,此方法将阻塞;否则,不读取字节并且返回
0
。如果已启用验证,则当前条目的任何无效签名将在到达条目末尾之前的某个点进行报告。
ZipInputStream
中的
read
b
- 要读入数据的缓冲区
off
- 目标数组
b
的初始偏移量
len
- 读取的最大字节数
NullPointerException
- 如果
b
为
null
。
IndexOutOfBoundsException
- 如果
off
为负,或者
len
为负或
len
大于
b.length - off
ZipException
- 如果发生 ZIP 文件错误
IOException
- 如果发生 I/O 错误
SecurityException
- 如果有任何未正确签名的 jar 文件条目。
FilterInputStream.in
protected ZipEntry createZipEntry(String name)
JarEntry
(
ZipEntry
)。指定的 JAR 文件条目名称的清单属性将被复制到新的
JarEntry
。
ZipInputStream
中的
createZipEntry
name
- JAR/ZIP 文件条目的名称
JarEntry
对象