- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.util.zip.DeflaterOutputStream
-
- java.util.zip.GZIPOutputStream
-
- All Implemented Interfaces:
-
Closeable
,Flushable
,AutoCloseable
public class GZIPOutputStream extends DeflaterOutputStream
该类实现了一个流过滤器,用于以GZIP文件格式写入压缩数据。- 从以下版本开始:
- 1.1
-
-
Field Summary
Fields Modifier and Type Field 描述 protected CRC32
crc
未压缩数据的CRC-32。-
Fields inherited from class java.util.zip.DeflaterOutputStream
buf, def
-
Fields inherited from class java.io.FilterOutputStream
out
-
-
构造方法摘要
构造方法 Constructor 描述 GZIPOutputStream(OutputStream out)
创建一个具有默认缓冲区大小的新输出流。GZIPOutputStream(OutputStream out, boolean syncFlush)
创建具有默认缓冲区大小和指定刷新模式的新输出流。GZIPOutputStream(OutputStream out, int size)
创建具有指定缓冲区大小的新输出流。GZIPOutputStream(OutputStream out, int size, boolean syncFlush)
创建具有指定缓冲区大小和刷新模式的新输出流。
-
-
-
字段详细信息
-
crc
protected CRC32 crc
未压缩数据的CRC-32。
-
-
构造方法详细信息
-
GZIPOutputStream
public GZIPOutputStream(OutputStream out, int size) throws IOException
创建具有指定缓冲区大小的新输出流。通过调用3参数构造函数GZIPOutputStream(out,size,false)创建新的输出流实例。
- 参数
-
out
- 输出流 -
size
- 输出缓冲区大小 - 异常
-
IOException
- 如果发生I / O错误。 -
IllegalArgumentException
- 如果是size <= 0
-
GZIPOutputStream
public GZIPOutputStream(OutputStream out, int size, boolean syncFlush) throws IOException
创建具有指定缓冲区大小和刷新模式的新输出流。- 参数
-
out
- 输出流 -
size
- 输出缓冲区大小 -
syncFlush
- 如果true
的继承的flush()
方法的调用方式在刷新输出流之前用冲洗模式Deflater.SYNC_FLUSH
刷新压缩器,否则仅刷新输出流 - 异常
-
IOException
- 如果发生I / O错误。 -
IllegalArgumentException
- 如果是size <= 0
- 从以下版本开始:
- 1.7
-
GZIPOutputStream
public GZIPOutputStream(OutputStream out) throws IOException
创建一个具有默认缓冲区大小的新输出流。创建新的输出流实例就好像通过调用2参数构造函数GZIPOutputStream(out,false)一样。
- 参数
-
out
- 输出流 - 异常
-
IOException
- 如果发生I / O错误。
-
GZIPOutputStream
public GZIPOutputStream(OutputStream out, boolean syncFlush) throws IOException
创建具有默认缓冲区大小和指定刷新模式的新输出流。- 参数
-
out
- 输出流 -
syncFlush
- 如果true
这个实例的继承的flush()
方法的调用在刷新输出流之前用冲洗模式Deflater.SYNC_FLUSH
刷新压缩器,否则仅刷新输出流 - 异常
-
IOException
- 如果发生I / O错误。 - 从以下版本开始:
- 1.7
-
-
方法详细信息
-
write
public void write(byte[] buf, int off, int len) throws IOException
将字节数组写入压缩输出流。 该方法将阻塞,直到写入所有字节为止。- 重写:
-
write
在DeflaterOutputStream
- 参数
-
buf
- 要写入的数据 -
off
- 数据的起始偏移量 -
len
- 数据的长度 - 异常
-
IOException
- 如果发生I / O错误。 - 另请参见:
-
FilterOutputStream.write(int)
-
finish
public void finish() throws IOException
完成将压缩数据写入输出流,而不关闭底层流。 在连续使用多个过滤器到相同的输出流时使用此方法。- 重写:
-
finish
在DeflaterOutputStream
- 异常
-
IOException
- 如果发生I / O错误
-
-