public class JarInputStream extends ZipInputStream
JarInputStream
类用于从任何输入流读取JAR文件的内容。
它扩展了类java.util.zip.ZipInputStream
,支持阅读可选的Manifest
条目。
Manifest
可用于存储有关JAR文件及其条目的元信息。
Manifest
, ZipInputStream
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 |
buf, inf, len
in
Constructor and Description |
---|
JarInputStream(InputStream in)
创建一个新的
JarInputStream 并读取可选的清单。
|
JarInputStream(InputStream in, boolean verify)
创建一个新的
JarInputStream 并读取可选的清单。
|
Modifier and Type | Method and Description |
---|---|
protected ZipEntry |
createZipEntry(String name)
为指定的JAR文件条目名称创建一个新的
JarEntry (
ZipEntry )。
|
Manifest |
getManifest()
返回
Manifest 这个JAR文件,或
null 如果没有。
|
ZipEntry |
getNextEntry()
读取下一个ZIP文件条目,并将流定位在条目数据的开头。
|
JarEntry |
getNextJarEntry()
读取下一个JAR文件条目,并将流定位在条目数据的开头。
|
int |
read(byte[] b, int off, int len)
从当前的JAR文件条目读入一个字节数组。
|
available, close, closeEntry, skip
fill, mark, markSupported, read, reset
read
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
并读取可选的清单。
如果清单存在并且验证是真的,那么如果JarInputStream被签名,也尝试验证签名。
in
- 实际的输入流
verify
- 是否验证JarInputStream是否被签名。
IOException
- 如果发生I / O错误
public Manifest getManifest()
Manifest
这个JAR文件,或
null
如果没有。
Manifest
这个JAR文件,或
null
如果没有。
public ZipEntry getNextEntry() throws IOException
getNextEntry
在
ZipInputStream
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
。
如果已启用验证,则在到达条目结束前的某个时刻将会报告当前条目中的任何无效签名。
read
在
ZipInputStream
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
。
createZipEntry
在
ZipInputStream
name
- JAR / ZIP文件条目的名称
JarEntry
对象