public class JarFile extends ZipFile
JarFile
类用于从可以使用java.io.RandomAccessFile
打开的任何文件中读取jar文件的内容。
它扩展了java.util.zip.ZipFile
类,支持阅读可选的Manifest
条目。
Manifest
可用于指定有关jar文件及其条目的元信息。
除非另有说明,否则将null参数传递给此类中的构造函数或方法将导致抛出NullPointerException
。 如果打开签名的jar文件时验证标志已打开,则文件的内容将根据嵌入在文件中的签名进行验证。 请注意,验证过程不包括验证签名者的证书。 来电者应检查JarEntry.getCodeSigners()
的返回值,以进一步确定签名是否可信。
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
JAR清单文件名。
|
OPEN_DELETE, OPEN_READ
Constructor and Description |
---|
JarFile(File file)
创建一个新的
JarFile 从指定的
File 对象读取。
|
JarFile(File file, boolean verify)
创建一个新的
JarFile 从指定的
File 对象读取。
|
JarFile(File file, boolean verify, int mode)
创建一个新的
JarFile 以指定的方式从指定的
File 对象中读取。
|
JarFile(String name)
创建一个新的
JarFile 从指定的文件
name 。
|
JarFile(String name, boolean verify)
创建一个新的
JarFile 从指定的文件
name 。
|
Modifier and Type | Method and Description |
---|---|
Enumeration<JarEntry> |
entries()
返回zip文件条目的枚举。
|
ZipEntry |
getEntry(String name)
返回
ZipEntry 给定条目名称或
null ,如果没有找到。
|
InputStream |
getInputStream(ZipEntry ze)
返回用于读取指定zip文件条目内容的输入流。
|
JarEntry |
getJarEntry(String name)
返回
JarEntry 给定条目名称或
null ,如果没有找到。
|
Manifest |
getManifest()
返回jar文件清单,否则返回
null 。
|
Stream<JarEntry> |
stream()
在ZIP文件条目上返回一个订购的
Stream 。
|
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
从指定的文件name
。
JarFile
将被验证是否签署。
name
- 要打开阅读的jar文件的名称
IOException
- 如果发生I / O错误
SecurityException
- 如果对
SecurityException
访问权限被拒绝
public JarFile(String name, boolean verify) throws IOException
JarFile
从指定的文件
name
。
name
- 要打开阅读的jar文件的名称
verify
- 是否验证jar文件是否被签名。
IOException
- 如果发生I / O错误
SecurityException
- 如果
SecurityException
拒绝访问该文件
public JarFile(File file) throws IOException
JarFile
从指定的File
对象读取。
JarFile
将被验证是否已签署。
file
- 要打开的jar文件进行阅读
IOException
- 如果发生I / O错误
SecurityException
- 如果对
SecurityException
访问权限被拒绝
public JarFile(File file, boolean verify) throws IOException
JarFile
从指定的
File
对象读取。
file
- 要打开的jar文件进行阅读
verify
- 是否验证jar文件是否被签名。
IOException
- 如果发生I / O错误
SecurityException
- 如果
SecurityException
对该文件的访问被拒绝。
public JarFile(File file, boolean verify, int mode) throws IOException
JarFile
以指定的方式从指定的File
对象读取。
mode参数必须是OPEN_READ或OPEN_READ | OPEN_DELETE 。
file
- 要打开阅读的jar文件
verify
- 是否验证jar文件是否被签名。
mode
- 要打开文件的模式
IOException
- 如果发生I / O错误
IllegalArgumentException
- 如果
mode参数无效
SecurityException
- 如果
SecurityException
拒绝对该文件的访问
public Manifest getManifest() throws IOException
null
。
null
如果没有
IllegalStateException
- 如果jar文件已关闭,可能会抛出
IOException
- 如果发生I / O错误
public JarEntry getJarEntry(String name)
JarEntry
给定条目名称或
null
,如果没有找到。
name
- jar文件条目名称
JarEntry
为给定的条目名称或
null
如果没有找到。
IllegalStateException
- 如果jar文件已关闭,可能会抛出
JarEntry
public ZipEntry getEntry(String name)
ZipEntry
给定条目名称或
null
,如果没有找到。
getEntry
在
ZipFile
name
- jar文件条目名称
ZipEntry
为给定的条目名称或
null
如果没有找到
IllegalStateException
- 如果jar文件已关闭,可能会抛出
ZipEntry
public Enumeration<JarEntry> entries()
public Stream<JarEntry> stream()
ZipFile
Stream
。
条目按照它们出现在ZIP文件的中央Stream
中的顺序出现在Stream中。
public InputStream getInputStream(ZipEntry ze) throws IOException
getInputStream
在
ZipFile
ze
- zip文件条目
ZipException
- 如果发生zip文件格式错误
IOException
- 如果发生I / O错误
SecurityException
- 如果任何jar文件条目未正确签名。
IllegalStateException
- 如果jar文件已关闭,可能会抛出