- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- java.util.zip.InflaterInputStream
-
- java.util.zip.ZipInputStream
-
- 实现的所有接口
-
Closeable
,AutoCloseable
- 已知直接子类:
-
JarInputStream
public class ZipInputStream extends InflaterInputStream
此类实现了一个输入流过滤器,用于读取ZIP文件格式的文件。 包括对压缩和未压缩条目的支持。- 从以下版本开始:
- 1.1
-
-
字段汇总
字段 变量和类型 字段 描述 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
-
-
构造方法摘要
构造方法 构造器 描述 ZipInputStream(InputStream in)
创建一个新的ZIP输入流。ZipInputStream(InputStream in, Charset charset)
创建一个新的ZIP输入流。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 int
available()
在达到当前条目数据的EOF后返回0,否则始终返回1。void
close()
关闭此输入流并释放与该流关联的所有系统资源。void
closeEntry()
关闭当前ZIP条目并定位流以读取下一个条目。protected ZipEntry
createZipEntry(String name)
为指定的条目名称创建新的ZipEntry
对象。ZipEntry
getNextEntry()
读取下一个ZIP文件条目,并将流定位在条目数据的开头。int
read(byte[] b, int off, int len)
从当前ZIP条目读入字节数组。long
skip(long n)
跳过当前ZIP条目中指定的字节数。-
声明方法的类 java.util.zip.InflaterInputStream
fill, mark, markSupported, read, reset
-
声明方法的类 java.io.FilterInputStream
read
-
声明方法的类 java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
字段详细信息
-
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
- 另请参见:
- 常数字段值
-
-
构造方法详细信息
-
ZipInputStream
public ZipInputStream(InputStream in)
创建一个新的ZIP输入流。UTF-8
charset
用于解码条目名称。- 参数
-
in
- 实际输入流
-
ZipInputStream
public ZipInputStream(InputStream in, Charset charset)
创建一个新的ZIP输入流。- 参数
-
in
- 实际输入流 -
charset
-该charset被用来ZIP条目名称(如果忽略解码language encoding bit ZIP条目的通用位标志的设置)。 - 从以下版本开始:
- 1.7
-
-
方法详细信息
-
getNextEntry
public ZipEntry getNextEntry() throws IOException
读取下一个ZIP文件条目,并将流定位在条目数据的开头。- 结果
- 下一个ZIP文件条目,如果没有更多条目,则返回null
- 异常
-
ZipException
- 如果发生ZIP文件错误 -
IOException
- 如果发生I / O错误
-
closeEntry
public void closeEntry() throws IOException
关闭当前ZIP条目并定位流以读取下一个条目。- 异常
-
ZipException
- 如果发生ZIP文件错误 -
IOException
- 如果发生I / O错误
-
available
public int available() throws IOException
在达到当前条目数据的EOF后返回0,否则始终返回1。程序不应指望此方法返回可以无阻塞地读取的实际字节数。
- 重写:
-
available
在类InflaterInputStream
- 结果
- 在EOF之前为1,在EOF到达当前进入之后为0。
- 异常
-
IOException
- 如果发生I / O错误。
-
read
public int read(byte[] b, int off, int len) throws IOException
从当前ZIP条目读入字节数组。 如果len
不为零,则该方法将阻塞,直到某些输入可用; 否则,不读取任何字节,返回0
。- 重写:
-
read
在类InflaterInputStream
- 参数
-
b
- 读取数据的缓冲区 -
off
- 目标阵列b
的起始偏移量 -
len
- 读取的最大字节数 - 结果
- 读取的实际字节数,如果到达条目的末尾,则返回-1
- 异常
-
NullPointerException
- 如果b
是null
。 -
IndexOutOfBoundsException
- 如果off
为负数,则len
为负数,或len
为大于b.length - off
-
ZipException
- 如果发生ZIP文件错误 -
IOException
- 如果发生I / O错误 - 另请参见:
-
FilterInputStream.in
-
skip
public long skip(long n) throws IOException
跳过当前ZIP条目中指定的字节数。- 重写:
-
skip
在课程InflaterInputStream
- 参数
-
n
- 要跳过的字节数 - 结果
- 跳过的实际字节数
- 异常
-
ZipException
- 如果发生ZIP文件错误 -
IOException
- 如果发生I / O错误 -
IllegalArgumentException
- 如果n < 0
-
close
public void close() throws IOException
关闭此输入流并释放与该流关联的所有系统资源。- Specified by:
-
close
在接口AutoCloseable
- Specified by:
-
close
,界面Closeable
- 重写:
-
close
在类InflaterInputStream
- 异常
-
IOException
- 如果发生I / O错误 - 另请参见:
-
FilterInputStream.in
-
-