Javazip 简明教程

Java Zip - Quick Guide

java.util.zip - Adler32

java.util.zip.Adler32 类是一个类,可用于计算数据流的 Adler-32 校验和。Adler-32 校验和几乎与 CRC-32 一样可靠,但计算速度要快得多。

Class Declaration

这是 java.util.zip.Adler32 类声明 −

public class Adler32
   extends Object
      implements Checksum

Constructors

Sr.No.

Constructor & Description

1

Adler32() 创建一个新 Adler32 对象。

Class Methods

Sr.No.

Method & Description

1

long getValue() 返回校验和值。

2

void reset() 将校验和重置为初始值。

3

void update(byte[] b) 使用指定字节数组更新校验和。

4

void update(byte[] b, int off, int len) 使用指定字节数组更新校验和。

5

void update(int b) 使用指定字节(参数 b 的低八位)更新校验和。

Methods Inherited

此类从以下类中继承方法:

  1. java.lang.Object

java.util.zip - CheckedInputStream Class

Introduction

java.util.zip.CheckedInputStream 类是一个输入流,它还维护读取数据的校验和。然后,可以利用校验和来验证输入数据的完整性。

Class Declaration

下面是 java.util.zip.CheckedInputStream 类的声明−

public class CheckedInputStream
   extends FilterInputStream

Constructors

Sr.No.

Constructor & Description

1

CheckedInputStream(InputStream in, Checksum cksum) 利用指定的 Checksum 创建一个输入流。

Class Methods

Sr.No.

Method & Description

1

Checksum getChecksum() 返回此输入流的 Checksum。

2

int read()Reads a byte.

3

int read(byte[] buf, int off, int len) 读入字节数组。

4

long skip(long n) 跳过指定数量的输入字节。

Methods Inherited

此类从以下类中继承方法:

  1. java.io.FilterInputStream

  2. java.lang.Object

java.util.zip - CheckedOutputStream Class

Introduction

java.util.zip.CheckedOutputStream 类是一个输出流,还维护着正在写入的数据的校验和。然后可以使用校验和验证输出数据的完整性。

Class Declaration

java.util.zip.CheckedOutputStream 类的声明如下所示:

public class CheckedOutputStream
   extends FilterOutputStream

Constructors

Sr.No.

Constructor & Description

1

CheckedOutputStream(OutputStream out, Checksum cksum) 创建具有指定校验和的输出流。

Class Methods

Sr.No.

Method & Description

1

Checksum getChecksum() 返回此输出流的校验和。

2

void write(byte[] b, int off, int len) 写入字节数组。

3

void write(int b) 写入一个字节。

Methods Inherited

此类从以下类中继承方法:

  1. java.io.FilterOutputStream

  2. java.lang.Object

java.util.zip - CRC32 Class

Introduction

java.util.zip.CRC32 类是一个可用于计算数据流 CRC-32 的类。

Class Declaration

下面是 java.util.zip.CRC32 类的声明−

public class CRC32
   extends Object
      implements Checksum

Constructors

Sr.No.

Constructor & Description

1

CRC32() 创建一个新的 CRC32 对象。

Class Methods

Sr.No.

Method & Description

1

long getValue() 返回 CRC-32 值。

2

void reset() 将 CRC-32 重置为初始值。

3

void update(byte[] b) 利用指定的字节数组更新 CRC-32 校验和。

4

void update(byte[] b, int off, int len) 利用指定的字节数组更新 CRC-32 校验和。

5

void update(int b) 使用指定字节(参数 b 的低八位)更新 CRC-32 校验和。

Methods Inherited

此类从以下类中继承方法:

  1. java.lang.Object

java.util.zip - Deflater Class

Introduction

java.util.zip.Deflater 类利用流行的 ZLIB 压缩库提供对通用压缩的支持。ZLIB 压缩库最初作为 PNG 图形标准的一部分开发,而且不受专利保护。在 java.util.zip 包说明中进行了详细介绍。

Class Declaration

下面是 java.util.zip.Deflater 类的声明−

public class Deflater
   extends Object

Fields

下面是 java.util.zip.Deflater 类的字段−

  1. static int BEST_COMPRESSION − 最佳压缩的压缩级别。

  2. static int BEST_SPEED − 最快速压缩的压缩级别。

  3. static int DEFAULT_COMPRESSION − 默认压缩级别。

  4. static int DEFAULT_STRATEGY − 默认压缩策略。

  5. static int DEFLATED − 用于 deflate 算法的压缩方法(目前仅支持此方法)。

  6. static int FILTERED − 最适合压缩主要由小值组成的且分布较随机的数据的压缩策略。

  7. static int FULL_FLUSH − 用于刷新所有挂起输出并重置解压缩器的压缩刷新模式。

  8. static int HUFFMAN_ONLY − 仅适用于霍夫曼编码的压缩策略。

  9. static int NO_COMPRESSION − 无压缩的压缩级别。

  10. static int NO_FLUSH − 用于实现最佳压缩结果的压缩刷新模式。

  11. static int SYNC_FLUSH − 用于刷新所有挂起输出的压缩刷新模式;可能会降低某些压缩算法的压缩率。

Constructors

Sr.No.

Constructor & Description

1

Deflater() 创建具有默认压缩级别的全新压缩器。

2

Deflater(int level) 使用指定的压缩级别创建全新压缩器。

3

Deflater(int level, boolean nowrap) 使用指定的压缩级别创建全新压缩器。

Class Methods

Sr.No.

Method & Description

1

int deflate(byte[] b) 压缩输入数据,并使用压缩数据填充指定的缓冲区。

2

int deflate(byte[] b, int off, int len) 压缩输入数据,并使用压缩数据填充指定的缓冲区。

3

int deflate(byte[] b, int off, int len, int flush) 压缩输入数据,并使用压缩数据填充指定的缓冲区。

4

void end() 关闭压缩器并丢弃所有未经处理的输入数据。

5

void finish() 调用时指明压缩应以当前输入缓冲区的内容结束。

6

boolean finished() 如果已达到压缩数据输出流的末尾,则返回 true。

7

int getAdler() 返回未压缩数据的 ADLER-32 值。

8

long getBytesRead() 返回到目前为止已输入的未压缩字节的总数。

9

long getBytesWritten() 返回到目前为止已输出的压缩字节的总数。

10

int getTotalIn() 返回到目前为止已输入的未压缩字节的总数。

11

int getTotalOut() 返回到目前为止已输出的压缩字节的总数。

12

boolean needsInput() 如果输入数据缓冲区为空且应调用 setInput() 来提供更多输入,则返回 true。

13

void reset() 重置压缩器以处理一组新的输入数据。

14

void setDictionary(byte[] b) 为压缩设置预设词典。

15

void setDictionary(byte[] b, int off, int len) 为压缩设置预设词典。

16

void setInput(byte[] b) 设置要压缩的输入数据。

17

void setInput(byte[] b, int off, int len) 设置要压缩的输入数据。

18

void setLevel(int level) 将当前压缩级别设置为指定值。

19

void setStrategy(int strategy) 将压缩策略设置为指定值。

Methods Inherited

此类从以下类中继承方法:

  1. java.lang.Object

java.util.zip - DeflaterInputStream Class

Introduction

java.util.zip.DeflaterInputStream 类实现用于以“压缩”压缩格式压缩数据的输入流过滤器。

Class Declaration

以下为 java.util.zip.DeflaterInputStream 类的声明 −

public class DeflaterInputStream
   extends FilterInputStream

Fields

以下为 java.util.zip.DeflaterInputStream 类的字段 −

  1. protected byte[] buf − 读取压缩数据的输入缓冲区。

  2. protected Deflater def − 此流的压缩器。

Constructors

Sr.No.

Constructor & Description

1

DeflaterInputStream(InputStream in) 创建带有默认压缩器和缓冲区大小的新输入流。

2

DeflaterInputStream(InputStream in, Deflater defl) 创建带有指定压缩器和默认缓冲区大小的新输入流。

3

DeflaterInputStream(InputStream in, Deflater defl, int bufLen) 创建带有指定压缩器和缓冲区大小的新输入流。

Class Methods

Sr.No.

Method & Description

1

int available() 达到 EOF 后返回 0,否则始终返回 1。

2

void close() 关闭此输入流及其基础输入流,丢弃任何待处理的未压缩数据。

3

int read() 从输入流读取单个字节的压缩数据。

4

int read(byte[] b, int off, int len) 将压缩数据读入字节数组。

5

long skip(long n) 跳过并丢弃输入流中的数据。

Methods Inherited

此类从以下类中继承方法:

  1. java.io.FilterInputStream

  2. java.lang.Object

java.util.zip - DeflaterOutputStream Class

Introduction

java.util.zip.DeflaterOutputStream 类实现了用于以“压缩”压缩格式压缩数据的输出流过滤器。它也被用作其他类型压缩过滤器的基础,例如 GZIPOutputStream。

Class Declaration

以下是 java.util.zip.DeflaterOutputStream 类声明 −

public class DeflaterOutputStream
   extends FilterOutputStream

Fields

以下是 java.util.zip.DeflaterOutputStream 类的字段 −

  1. protected byte[] buf − 用于写入压缩数据的输出缓冲区。

  2. protected Deflater def − 此流的压缩器。

Constructors

Sr.No.

Constructor & Description

1

DeflaterOutputStream(OutputStream out) 使用默认压缩器和缓冲区大小创建一个新的输出流。

2

DeflaterOutputStream(OutputStream out, boolean syncFlush) 使用默认压缩器、默认缓冲区大小和指定刷新模式创建一个新的输出流。

3

DeflaterOutputStream(OutputStream out, Deflater def) 使用指定的压缩器和默认缓冲区大小创建新的输出流。

4

DeflaterOutputStream(OutputStream out, Deflater def, boolean syncFlush) 使用指定的压缩器、刷新模式和默认缓冲区大小创建新的输出流。

5

DeflaterOutputStream(OutputStream out, Deflater def, int size) 使用指定的压缩器和缓冲区大小创建新的输出流。

6

DeflaterOutputStream(OutputStream out, Deflater def, int size, boolean syncFlush) 使用指定的压缩器、缓冲区大小和刷新模式创建新的输出流。

Class Methods

Sr.No.

Method & Description

1

void close() 将剩余的压缩数据写入输出流并关闭底层流。

2

void finish() 完成写入压缩数据到输出流而无需关闭底层流。

3

void flush() 刷新压缩的输出流。

4

void write(byte[] b, int off, int len) 向压缩的输出流写入一个字节数组。

5

void write(int b) 向压缩的输出流写入一个字节。

Methods Inherited

此类从以下类中继承方法:

  1. java.io.FilterOutputStream

  2. java.lang.Object

java.util.zip - GZIPInputStream Class

Introduction

java.util.zip.GZIPInputStream 类实现一个流过滤器,用于读取 GZIP 文件格式中的压缩数据。

Class Declaration

这是 java.util.zip.GZIPInputStream 类声明 −

public class GZIPInputStream
   extends InflaterInputStream

Fields

以下是 java.util.zip.GZIPInputStream 类中的字段 −

  1. protected CRC32 crc − 未压缩数据的 CRC-32。

  2. protected boolean eos − 表示输入流结束。

  3. static int GZIP_MAGIC − GZIP 头部魔术数字。

Constructors

Sr.No.

Constructor & Description

1

GZIPInputStream(InputStream in) 使用默认缓冲区大小创建新输入流。

2

GZIPInputStream(InputStream in, int size) 使用指定缓冲区大小创建新输入流。

Class Methods

Sr.No.

Method & Description

1

void close() 关闭该输入流,并释放与流相关的任何系统资源。

2

int read(byte[] buf, int off, int len) 将解压缩数据读入字节数组。

Methods Inherited

此类从以下类中继承方法:

  1. java.util.zip.InflaterInputStream

  2. java.io.FilterInputStream

  3. java.lang.Object

java.util.zip - GZIPOutputStream Class

Introduction

java.util.zip.GZIPOutputStream 类实现一个流过滤器,用于以 GZIP 文件格式写入压缩数据。

Class Declaration

以下是 java.util.zip.GZIPOutputStream 类的声明 −

public class GZIPOutputStream
   extends DeflaterOutputStream

Fields

以下为 java.util.zip.GZIPOutputStream 类的字段 −

  1. protected CRC32 crc − 未压缩数据的 CRC-32。

Constructors

Sr.No.

Constructor & Description

1

GZIPOutputStream(OutputStream out) 创建带有默认缓冲区大小的新输出流。

2

GZIPOutputStream(OutputStream out, boolean syncFlush) 创建带有默认缓冲区大小和指定刷新模式的新输出流。

3

GZIPOutputStream(OutputStream out, int size) 创建带有指定缓冲区大小的新输出流。

4

GZIPOutputStream(OutputStream out, int size, boolean syncFlush) 创建带有指定缓冲区大小和刷新模式的新输出流。

Class Methods

Sr.No.

Method & Description

1

void finish() 完成对输出流的压缩数据写入,而不关闭基础流。

2

int write(byte[] buf, int off, int len) 将字节数组写入压缩输出流。

Methods Inherited

此类从以下类中继承方法:

  1. java.util.zip.DeflaterOutputStream

  2. java.io.FilterOutputStream

  3. java.lang.Object

java.util.zip - Inflater Class

Introduction

java.util.zip.Inflater 类使用流行的 ZLIB 压缩库提供通用解压缩支持。ZLIB 压缩库最初是作为 PNG 图形标准的一部分开发的,不受专利保护。该标准在 java.util.zip 包说明中得到了全面阐述。

Class Declaration

下面是 java.util.zip.Inflater 类的声明 −

public class Inflater
   extends Object

Constructors

Sr.No.

Constructor & Description

1

Inflater() Creates a new decompressor.

2

Inflater(boolean nowrap) 创建新的解压缩器。

Class Methods

Sr.No.

Method & Description

1

void end() 关闭解压缩器并丢弃任何未处理的输入。

2

boolean finished() 如果已到达压缩数据流的末尾,则返回 true。

3

int getAdler() 返回未压缩数据的 ADLER-32 值。

4

long getBytesRead() 返回迄今为止压缩的总字节数。

5

long getBytesWritten() 返回迄今为止未压缩的总字节数。

6

int getRemaining() 返回输入缓冲区中剩余的总字节数。

7

int getTotalIn() 返回迄今为止压缩的总字节数。

8

int getTotalOut() 返回到目前为止的未压缩字节总数。

9

int inflate(byte[] b) 将字节解压缩到指定的缓冲区。

10

int inflate(byte[] b, int off, int len) 将字节解压缩到指定的缓冲区。

11

boolean needsDictionary() 如果需要预设字典用于解压缩,则返回 true。

12

boolean needsInput() 如果没有数据留在输入缓冲区,则返回 true。

13

void reset() 重置解压缩器,以便可以处理一组新的输入数据。

14

void setDictionary(byte[] b) 将预设字典设置为给定的字节数组。

15

void setDictionary(byte[] b, int off, int len) 将预设字典设置为给定的字节数组。

16

void setInput(byte[] b) 设置用于解压缩的输入数据。

17

void setInput(byte[] b, int off, int len) 设置用于解压缩的输入数据。

Methods Inherited

此类从以下类中继承方法:

  1. java.lang.Object

java.util.zip - InflaterInputStream Class

Introduction

java.util.zip.InflaterInputStream 类实现“deflate”压缩格式中用于解压缩数据的流过滤器。它还用作其他解压缩过滤器的基础,例如 GZIPInputStream。

Class Declaration

以下是 java.util.zip.InflaterInputStream 类的声明 −

public class InflaterInputStream
   extends FilterInputStream

Fields

以下为 java.util.zip.InflaterInputStream 类的字段 −

  1. protected byte[] buf − 用于解压缩的输入缓冲区。

  2. protected Inflater inf − 此流的解压缩程序。

  3. protected int len − 输入缓冲区的长度。

Constructors

Sr.No.

Constructor & Description

1

InflaterInputStream(InputStream in) 使用默认解压缩器和缓冲区大小创建新的输入流。

2

InflaterInputStream(InputStream in, Inflater inf) 使用指定的解压缩器和默认缓冲区大小创建新的输入流。

3

InflaterInputStream(InputStream in, Inflater inf, int size) 使用指定的解压缩器和缓冲区大小创建新的输入流。

Class Methods

Sr.No.

Method & Description

1

int available() 达到 EOF 后返回 0,否则始终返回 1。

2

void close() 关闭此输入流并释放与该流关联的所有系统资源。

3

void mark(int readlimit) 标记此输入流中的当前位置。

4

boolean markSupported() 测试此输入流是否支持 mark 和 reset 方法。

5

int read() 读取一个未压缩数据的字节。

6

int read(byte[] b, int off, int len) 将未压缩数据读入一个字节数组中。

7

void reset() 将此流重新定位到上次在此输入流上调用 mark 方法时的位置。

8

long skip(long n) 跳过指定数量的未压缩数据字节。

Methods Inherited

此类从以下类中继承方法:

  1. java.io.FilterInputStream

  2. java.lang.Object

java.util.zip - InflaterOutputStream Class

Introduction

java.util.zip.InflaterOutputStream 类实现一个输出流过滤器,用于解压缩以“deflate”压缩格式存储的数据。

Class Declaration

以下是 java.util.zip.InflaterOutputStream 类的声明 −

public class InflaterOutputStream
   extends FilterOutputStream

Fields

以下是 java.util.zip.InflaterOutputStream 类的字段 −

  1. protected byte[] buf − 输出缓冲区,用于写入未压缩数据。

  2. protected Inflater inf − 此流的解压缩程序。

Constructors

Sr.No.

Constructor & Description

1

InflaterOutputStream(OutputStream out) 使用默认解压缩程序和缓冲区大小创建一个新的输出流。

2

InflaterOutputStream(OutputStream out, Inflater infl) 使用特定的解压缩程序和默认缓冲区大小创建一个新的输出流。

3

InflaterOutputStream(OutputStream out, Inflater infl, int bufLen) 使用特定的解压缩程序和缓冲区大小创建一个新的输出流。

Class Methods

Sr.No.

Method & Description

1

void close() 将剩余的压缩数据写入输出流并关闭底层流。

2

void finish() 完成将未压缩数据写入输出流,而不关闭底层流。

3

void flush() 刷新此输出流,强制写入任何待定的缓冲输出字节。

4

void write(byte[] b, int off, int len) 将一个字节数组写入压缩输出流。

5

void write(int b) 将一个字节写入压缩输出流。

Methods Inherited

此类从以下类中继承方法:

  1. java.io.FilterOutputStream

  2. java.lang.Object

java.util.zip - ZipEntry Class

Introduction

java.util.zip.ZipEntry 类用于表示 ZIP 文件条目。

Class Declaration

以下是 java.util.zip.ZipEntry 类的声明 −

public class ZipEntry
   extends Object
      implements Cloneable

Fields

以下是 java.util.zip.ZipEntry 类的字段 −

  1. protected byte[] buf − 输出缓冲区,用于写入未压缩数据。

  2. protected Inflater inf − 此流的解压缩程序。

  3. static int CENATT

  4. static int CENATX

  5. static int CENCOM

  6. static int CENCRC

  7. static int CENDSK

  8. static int CENEXT

  9. static int CENFLG

  10. static int CENHDR

  11. static int CENHOW

  12. static int CENLEN

  13. static int CENNAM

  14. static int CENOFF

  15. static long CENSIG

  16. static int CENSIZ

  17. static int CENTIM

  18. static int CENVEM

  19. static int CENVER

  20. static int DEFLATED − 压缩条目(经过压缩)的压缩方法。

  21. static int ENDCOM

  22. static int ENDHDR

  23. static int ENDOFF

  24. static long ENDSIG

  25. static int ENDSIZ

  26. static int ENDSUB

  27. static int ENDTOT

  28. static int EXTCRC

  29. static int EXTHDR

  30. static int EXTLEN

  31. static long EXTSIG

  32. static int EXTSIZ

  33. static int LOCCRC

  34. static int LOCEXT

  35. static int LOCFLG

  36. static int LOCHDR

  37. static int LOCHOW

  38. static int LOCLEN

  39. static int LOCNAM

  40. static long LOCSIG

  41. static int LOCSIZ

  42. static int LOCTIM

  43. static int LOCVER

  44. static int STORED − 未压缩条目的压缩方法。

Constructors

Sr.No.

Constructor & Description

1

ZipEntry(String name) 使用指定名称创建新的 zip 条目。

2

ZipEntry(ZipEntry e) 使用从指定 zip 条目中获取的字段创建新的 zip 条目。

Class Methods

Sr.No.

Method & Description

1

Object clone() 返回此条目的副本。

2

String getComment() 返回条目的注释字符串,如果为空则返回 null。

3

long getCompressedSize() 返回压缩条目数据的长度,如果未知则返回 -1。

4

long getCrc() 返回未压缩条目数据的 CRC-32 校验和,如果未知则返回 -1。

5

byte[] getExtra() 返回条目的附加字段数据,如果为空则返回 null。

6

int getMethod() 返回条目的压缩方法,如果没有指定则返回 -1。

7

String getName() 返回条目的名称。

8

long getSize() 返回条目数据的未压缩大小,如果没有已知大小则返回 -1。

9

long getTime() 返回条目的修改时间,如果没有指定则返回 -1。

10

int hashCode() 返回此条目的哈希码值。

11

boolean isDirectory() 如果这是目录条目,则返回 true。

12

void setComment(String comment) 设置条目的可选注释字符串。

13

void setCrc(long crc) 设置未压缩条目数据的 CRC-32 校验和。

14

void setExtra(byte[] extra) 设置条目的可选扩展字段数据。

15

void setMethod(int method) 设置条目的压缩方法。

16

void setSize(long size) 设置条目数据的未压缩大小。

17

void setTime(long time) 设置条目的修改时间。

18

String toString() 返回 ZIP 条目的字符串表示形式。

Methods Inherited

此类从以下类中继承方法:

  1. java.io.FilterOutputStream

  2. java.lang.Object

java.util.zip - ZipFile Class

Introduction

java.util.zip.ZipFile 类用于从 zip 文件中读取条目。

Class Declaration

以下是 java.util.zip.ZipFile 类的声明 −

public class ZipFile
   extends Object
      implements Closeable

Fields

以下是 java.util.zip.ZipFile 类的字段 −

  1. static int CENATT

  2. static int CENATX

  3. static int CENCOM

  4. static int CENCRC

  5. static int CENDSK

  6. static int CENEXT

  7. static int CENFLG

  8. static int CENHDR

  9. static int CENHOW

  10. static int CENLEN

  11. static int CENNAM

  12. static int CENOFF

  13. static long CENSIG

  14. static int CENSIZ

  15. static int CENTIM

  16. static int CENVEM

  17. static int CENVER

  18. static int ENDCOM

  19. static int ENDHDR

  20. static int ENDOFF

  21. static long ENDSIG

  22. static int ENDSIZ

  23. static int ENDSUB

  24. static int ENDTOT

  25. static int EXTCRC

  26. static int EXTHDR

  27. static int EXTLEN

  28. static long EXTSIG

  29. static int EXTSIZ

  30. static int LOCCRC

  31. static int LOCEXT

  32. static int LOCFLG

  33. static int LOCHDR

  34. static int LOCHOW

  35. static int LOCLEN

  36. static int LOCNAM

  37. static long LOCSIG

  38. static int LOCSIZ

  39. static int LOCTIM

  40. static int LOCVER

  41. static int OPEN_DELETE − 打开 zip 文件并标记为删除的模式标记。

  42. static int OPEN_READ − 打开 zip 文件进行读取的模式标记。

Constructors

Sr.No.

Constructor & Description

1

ZipFile(File file) 给定指定 File 对象,打开一个 ZIP 文件进行读取。

2

ZipFile(File file, Charset charset) 给定指定的文件对象,打开一个 ZIP 文件以便读取。

3

ZipFile(File file, int mode) 在指定模式下,打开一个新的 ZipFile,以从指定的文件对象中读取。

4

ZipFile(File file, int mode, Charset charset) 在指定模式下,打开一个新的 ZipFile,以从指定的文件对象中读取。

5

ZipFile(String name) 打开一个 zip 文件以便读取。

6

ZipFile(String name, Charset charset) 打开一个 zip 文件以便读取。

Class Methods

Sr.No.

Method & Description

1

void close() 关闭 ZIP 文件。

2

Enumeration<? extends ZipEntry> entries() 返回 ZIP 文件项的枚举。

3

String getComment() 返回 zip 文件注释,如果不存在,则返回 null。

4

ZipEntry getEntry(String name) 返回指定名称的 zip 文件项,如果不存在,则返回 null。

5

InputStream getInputStream(ZipEntry entry) 返回一个输入流,用于读取指定 zip 文件项的内容。

6

String getName() 返回 ZIP 文件的路径名。

7

int size() 返回 ZIP 文件中的项数。

Methods Inherited

此类从以下类中继承方法:

  1. Java.lang.Object

java.util.zip - ZipInputStream Class

Introduction

java.util.zip.ZipInputStream 类实现了用于读取 ZIP 文件格式中的文件的输入流过滤器。包括对压缩和非压缩文件的支持。

Class Declaration

java.util.zip.ZipInputStream 类的声明如下所示:

public class ZipInputStream
   extends InflaterInputStream

Fields

java.util.zip.ZipInputStream 类的字段如下所示:

  1. static int CENATT

  2. static int CENATX

  3. static int CENCOM

  4. static int CENCRC

  5. static int CENDSK

  6. static int CENEXT

  7. static int CENFLG

  8. static int CENHDR

  9. static int CENHOW

  10. static int CENLEN

  11. static int CENNAM

  12. static int CENOFF

  13. static long CENSIG

  14. static int CENSIZ

  15. static int CENTIM

  16. static int CENVEM

  17. static int CENVER

  18. static int ENDCOM

  19. static int ENDHDR

  20. static int ENDOFF

  21. static long ENDSIG

  22. static int ENDSIZ

  23. static int ENDSUB

  24. static int ENDTOT

  25. static int EXTCRC

  26. static int EXTHDR

  27. static int EXTLEN

  28. static long EXTSIG

  29. static int EXTSIZ

  30. static int LOCCRC

  31. static int LOCEXT

  32. static int LOCFLG

  33. static int LOCHDR

  34. static int LOCHOW

  35. static int LOCLEN

  36. static int LOCNAM

  37. static long LOCSIG

  38. static int LOCSIZ

  39. static int LOCTIM

  40. static int LOCVER

Constructors

Sr.No.

Constructor & Description

1

ZipInputStream(InputStream in) 创建新的 ZIP 输入流。

2

ZipInputStream(InputStream in, Charset charset) 创建新的 ZIP 输入流。

Class Methods

Sr.No.

Method & Description

1

int available() 如果已到达当前输入数据的 EOF,则返回 0,否则始终返回 1。

2

void close() 关闭此输入流并释放与该流关联的所有系统资源。

3

void closeEntry() 关闭当前 ZIP 输入并定位流以读取下一个输入。

4

ZipEntry getNextEntry() 读取下一个 ZIP 文件输入并定位该流至输入数据的开头。

5

int read(byte[] b, int off, int len) 从当前 ZIP 输入中读取至字节数组。

6

long skip(long n) 跳过当前 ZIP 输入中的指定数量的字节。

Methods Inherited

此类从以下类中继承方法:

  1. java.util.zip.InflaterInputStream

  2. java.io.FilterInputStream

  3. java.lang.Object

java.util.zip - ZipOutputStream Class

Introduction

java.util.zip.ZipOutputStream 类实现了用于以 ZIP 文件格式写入文件的输出流过滤器。包括对压缩和非压缩项的支持。

Class Declaration

以下是 java.util.zip.ZipOutputStream 类的声明 −

public class ZipOutputStream
   extends DeflaterOutputStream

Fields

以下是 java.util.zip.ZipOutputStream 类的字段 −

  1. static int CENATT

  2. static int CENATX

  3. static int CENCOM

  4. static int CENCRC

  5. static int CENDSK

  6. static int CENEXT

  7. static int CENFLG

  8. static int CENHDR

  9. static int CENHOW

  10. static int CENLEN

  11. static int CENNAM

  12. static int CENOFF

  13. static long CENSIG

  14. static int CENSIZ

  15. static int CENTIM

  16. static int CENVEM

  17. static int CENVER

  18. static int DEFLATED − 压缩(DEFLATED)项的压缩方法。

  19. static int ENDCOM

  20. static int ENDHDR

  21. static int ENDOFF

  22. static long ENDSIG

  23. static int ENDSIZ

  24. static int ENDSUB

  25. static int ENDTOT

  26. static int EXTCRC

  27. static int EXTHDR

  28. static int EXTLEN

  29. static long EXTSIG

  30. static int EXTSIZ

  31. static int LOCCRC

  32. static int LOCEXT

  33. static int LOCFLG

  34. static int LOCHDR

  35. static int LOCHOW

  36. static int LOCLEN

  37. static int LOCNAM

  38. static long LOCSIG

  39. static int LOCSIZ

  40. static int LOCTIM

  41. static int LOCVER

  42. static int STORED − 未压缩(STORED)项的压缩方法。

Constructors

Sr.No.

Constructor & Description

1

ZipOutputStream(OutputStream out) 创建新的 ZIP 输出流。

2

ZipOutputStream(OutputStream out, Charset charset) 创建新的 ZIP 输出流。

Class Methods

Sr.No.

Method & Description

1

void close() 同时关闭 ZIP 输出流和正在过滤的流。

2

void closeEntry() 关闭当前 ZIP 条目,并将流定位到写入下一条目的位置。

3

void finish() 完成写入 ZIP 输出流的内容,而无需关闭底层流。

4

void putNextEntry(ZipEntry e) 开始写入新的 ZIP 文件条目,并将流定位在条目数据的开头。

5

void setComment(String comment) 设置 ZIP 文件注释。

6

void setLevel(int level) 设置随后条目(已压缩)的压缩级别。

7

void setMethod(int method) 设置随后条目的默认压缩方法。

8

void write(byte[] b, int off, int len) 将字节数组写入当前 ZIP 条目数据。

Methods Inherited

此类从以下类中继承方法:

  1. java.util.zip.DeflaterOutputStream

  2. java.io.FilterOutputStream

  3. java.lang.Object

Java Zip - Exceptions

Introduction

java.util.zip Exceptions 包含在 zip/unzip 操作期间可能发生的异常。

Interface Summary

Sr.No.

Exception & Description

1

DataFormatException 信号数据格式已发生错误。

2

ZipException 信号某种形式的 Zip 异常已经发生。

Java Zip - Errors

Introduction

java.util.zip Error 包含 ZIP/解压操作期间可能出现的错误。

Interface Summary

Sr.No.

Error & Description

1

ZipError 指示已发生无法恢复的错误。