java.util.jar

接口
异常
java.lang.Object
  继承者 java.io.InputStream
      继承者 java.io.FilterInputStream
          继承者 java.util.zip.InflaterInputStream
              继承者 java.util.zip.ZipInputStream
                  继承者 java.util.jar.JarInputStream
所有已实现的接口:
Closeable

public class JarInputStream
     
extends ZipInputStream

JarInputStream 类用于从任何输入流读取 JAR 文件内容。它扩展了 java.util.zip.ZipInputStream 类,使之支持读取可选的 Manifest 条目。Manifest 可用于存储有关 JAR 文件及其条目的元信息。

从以下版本开始:
1.2
另请参见:
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
 

字段详细信息

LOCSIG

public static final long LOCSIG
另请参见:
常量字段值

EXTSIG

public static final long EXTSIG
另请参见:
常量字段值

CENSIG

public static final long CENSIG
另请参见:
常量字段值

ENDSIG

public static final long ENDSIG
另请参见:
常量字段值

LOCHDR

public static final int LOCHDR
另请参见:
常量字段值

EXTHDR

public static final int EXTHDR
另请参见:
常量字段值

CENHDR

public static final int CENHDR
另请参见:
常量字段值

ENDHDR

public static final int ENDHDR
另请参见:
常量字段值

LOCVER

public static final int LOCVER
另请参见:
常量字段值

LOCFLG

public static final int LOCFLG
另请参见:
常量字段值

LOCHOW

public static final int LOCHOW
另请参见:
常量字段值

LOCTIM

public static final int LOCTIM
另请参见:
常量字段值

LOCCRC

public static final int LOCCRC
另请参见:
常量字段值

LOCSIZ

public static final int LOCSIZ
另请参见:
常量字段值

LOCLEN

public static final int LOCLEN
另请参见:
常量字段值

LOCNAM

public static final int LOCNAM
另请参见:
常量字段值

LOCEXT

public static final int LOCEXT
另请参见:
常量字段值

EXTCRC

public static final int EXTCRC
另请参见:
常量字段值

EXTSIZ

public static final int EXTSIZ
另请参见:
常量字段值

EXTLEN

public static final int EXTLEN
另请参见:
常量字段值

CENVEM

public static final int CENVEM
另请参见:
常量字段值

CENVER

public static final int CENVER
另请参见:
常量字段值

CENFLG

public static final int CENFLG
另请参见:
常量字段值

CENHOW

public static final int CENHOW
另请参见:
常量字段值

CENTIM

public static final int CENTIM
另请参见:
常量字段值

CENCRC

public static final int CENCRC
另请参见:
常量字段值

CENSIZ

public static final int CENSIZ
另请参见:
常量字段值

CENLEN

public static final int CENLEN
另请参见:
常量字段值

CENNAM

public static final int CENNAM
另请参见:
常量字段值

CENEXT

public static final int CENEXT
另请参见:
常量字段值

CENCOM

public static final int CENCOM
另请参见:
常量字段值

CENDSK

public static final int CENDSK
另请参见:
常量字段值

CENATT

public static final int CENATT
另请参见:
常量字段值

CENATX

public static final int CENATX
另请参见:
常量字段值

CENOFF

public static final int CENOFF
另请参见:
常量字段值

ENDSUB

public static final int ENDSUB
另请参见:
常量字段值

ENDTOT

public static final int ENDTOT
另请参见:
常量字段值

ENDSIZ

public static final int ENDSIZ
另请参见:
常量字段值

ENDOFF

public static final int ENDOFF
另请参见:
常量字段值

ENDCOM

public static final int ENDCOM
另请参见:
常量字段值
构造方法详细信息

JarInputStream

public JarInputStream(InputStream in)
               throws IOException
创建新的 JarInputStream 并读取可选的清单。如果清单存在,则若 JarInputStream 是签名的,还要试图验证签名。

参数:
in - 实际输入流
抛出:
IOException - 如果发生 I/O 错误

JarInputStream

public JarInputStream(InputStream in,
                      boolean verify)
               throws IOException
创建新的 JarInputStream 并读取可选的清单。如果清单存在并验证为 true,则若 JarInputStream 是签名的,还要试图验证签名。

参数:
in - 实际输入流
verify - 如果 JarInputStream 是签名的,是否需要验证。
抛出:
IOException - 如果发生 I/O 错误
方法详细信息

getManifest

public Manifest getManifest()
返回此 JAR 文件的 Manifest;如果没有,则返回 null

返回:
此 JAR 文件的 Manifest;如果没有,则返回 null

getNextEntry

public ZipEntry getNextEntry()
                      throws IOException
读取下一个 ZIP 文件条目,并将流定位于此条目数据的开始处。如果已启用验证,则将流定位于下一个条目时所检测到的任何无效签名都将引发异常。

覆盖:
ZipInputStream 中的 getNextEntry
返回:
下一个 ZIP 文件条目;如果不存在更多条目,则返回 null
抛出:
ZipException - 如果发生 ZIP 文件错误
IOException - 如果发生 I/O 错误
SecurityException - 如果有任何未正确签名的 jar 文件条目。

getNextJarEntry

public JarEntry getNextJarEntry()
                         throws IOException
读取下一个 JAR 文件条目,并将流定位于此条目数据的开始处。如果已启用验证,则将流定位于下一个条目时所检测到的任何无效签名都将引发异常。

返回:
下一个 ZIP 文件条目;如果已到最后一个条目,则返回 null
抛出:
ZipException - 如果发生 ZIP 文件错误
IOException - 如果发生 I/O 错误
SecurityException - 如果有任何未正确签名的 jar 文件条目。

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
从当前 JAR 文件条目读入字节数组。如果 len 不为零,则在某个输入可用之前,此方法将阻塞;否则,不读取字节并且返回 0。如果已启用验证,则当前条目的任何无效签名将在到达条目末尾之前的某个点进行报告。

覆盖:
ZipInputStream 中的 read
参数:
b - 要读入数据的缓冲区
off - 目标数组 b 的初始偏移量
len - 读取的最大字节数
返回:
读取的实际字节数;如果到达条目末尾,则返回 -1
抛出:
NullPointerException - 如果 bnull
IndexOutOfBoundsException - 如果 off 为负,或者 len 为负或 len 大于 b.length - off
ZipException - 如果发生 ZIP 文件错误
IOException - 如果发生 I/O 错误
SecurityException - 如果有任何未正确签名的 jar 文件条目。
另请参见:
FilterInputStream.in

createZipEntry

protected ZipEntry createZipEntry(String name)
为指定的 JAR 文件条目名称创建新的 JarEntry ( ZipEntry)。指定的 JAR 文件条目名称的清单属性将被复制到新的 JarEntry

覆盖:
ZipInputStream 中的 createZipEntry
参数:
name - JAR/ZIP 文件条目的名称
返回:
刚创建的 JarEntry 对象