java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
java.util.zip.DeflaterOutputStream
- 所有已实现的接口:
-
Closeable
,Flushable
,AutoCloseable
- 直接已知的子类:
-
GZIPOutputStream
,ZipOutputStream
该类实现了用于压缩数据的“deflate”压缩格式的输出流过滤器。它也被用作其他类型的压缩过滤器的基础,例如GZIPOutputStream。
- 自从:
- 1.1
- 参见:
-
Field Summary
Fields declared in class java.io.FilterOutputStream
out
-
Constructor Summary
ConstructorDescription创建一个具有默认压缩器和缓冲区大小的新输出流。DeflaterOutputStream
(OutputStream out, boolean syncFlush) 创建一个具有默认压缩器、默认缓冲区大小和指定刷新模式的新输出流。DeflaterOutputStream
(OutputStream out, Deflater def) 创建一个具有指定压缩器和默认缓冲区大小的新输出流。DeflaterOutputStream
(OutputStream out, Deflater def, boolean syncFlush) 创建一个具有指定压缩器、刷新模式和默认缓冲区大小的新输出流。DeflaterOutputStream
(OutputStream out, Deflater def, int size) 创建一个具有指定压缩器和缓冲区大小的新输出流。DeflaterOutputStream
(OutputStream out, Deflater def, int size, boolean syncFlush) 创建一个具有指定压缩器、缓冲区大小和刷新模式的新输出流。 -
Method Summary
Methods declared in class java.io.FilterOutputStream
write
Methods declared in class java.io.OutputStream
nullOutputStream
-
Field Details
-
def
该流的压缩器。 -
buf
protected byte[] buf用于写入压缩数据的输出缓冲区。
-
-
Constructor Details
-
DeflaterOutputStream
创建一个具有指定压缩器、缓冲区大小和刷新模式的新输出流。- 参数:
-
out
- 输出流 -
def
- 压缩器("deflater") -
size
- 输出缓冲区大小 -
syncFlush
- 如果为true
,则此实例的flush()
方法在刷新输出流之前使用刷新模式Deflater.SYNC_FLUSH
刷新压缩器,否则仅刷新输出流 - 抛出:
-
IllegalArgumentException
- 如果size <= 0
- 自从:
- 1.7
-
DeflaterOutputStream
创建一个具有指定压缩器和缓冲区大小的新输出流。新的输出流实例被创建,就好像通过调用4个参数的构造函数DeflaterOutputStream(out, def, size, false)创建。
- 参数:
-
out
- 输出流 -
def
- 压缩器("deflater") -
size
- 输出缓冲区大小 - 抛出:
-
IllegalArgumentException
- 如果size <= 0
-
DeflaterOutputStream
创建一个具有指定压缩器、刷新模式和默认缓冲区大小的新输出流。- 参数:
-
out
- 输出流 -
def
- 压缩器("deflater") -
syncFlush
- 如果为true
,则此实例的flush()
方法在刷新输出流之前使用刷新模式Deflater.SYNC_FLUSH
刷新压缩器,否则仅刷新输出流 - 自从:
- 1.7
-
DeflaterOutputStream
创建一个具有指定压缩器和默认缓冲区大小的新输出流。新的输出流实例被创建,就好像通过调用3个参数的构造函数DeflaterOutputStream(out, def, false)创建。
- 参数:
-
out
- 输出流 -
def
- 压缩器("deflater")
-
DeflaterOutputStream
创建一个具有默认压缩器、默认缓冲区大小和指定刷新模式的新输出流。- 参数:
-
out
- 输出流 -
syncFlush
- 如果为true
,则此实例的flush()
方法在刷新输出流之前使用刷新模式Deflater.SYNC_FLUSH
刷新压缩器,否则仅刷新输出流 - 自从:
- 1.7
-
DeflaterOutputStream
创建一个具有默认压缩器和缓冲区大小的新输出流。新的输出流实例被创建,就好像通过调用2个参数的构造函数DeflaterOutputStream(out, false)创建。
- 参数:
-
out
- 输出流
-
-
Method Details
-
write
将字节写入压缩输出流。该方法将阻塞,直到字节被写入。- 覆盖:
-
write
在类FilterOutputStream
- 参数:
-
b
- 要写入的字节 - 抛出:
-
IOException
- 如果发生I/O错误
-
write
将字节数组写入压缩输出流。该方法将阻塞,直到所有字节被写入。- 覆盖:
-
write
在类FilterOutputStream
- 参数:
-
b
- 要写入的数据 -
off
- 数据的起始偏移量 -
len
- 数据的长度 - 抛出:
-
IOException
- 如果发生I/O错误 - 参见:
-
finish
完成向输出流写入压缩数据,而不关闭底层流。在将多个过滤器依次应用于同一输出流时使用此方法。- 抛出:
-
IOException
- 如果发生I/O错误
-
close
将剩余的压缩数据写入输出流并关闭底层流。- 指定者:
-
close
在接口AutoCloseable
中 - 指定者:
-
close
在接口Closeable
中 - 覆盖:
-
close
在类FilterOutputStream
- 抛出:
-
IOException
- 如果发生I/O错误 - 参见:
-
deflate
将下一个压缩数据块写入输出流。- 抛出:
-
IOException
- 如果发生I/O错误
-
flush
刷新压缩输出流。如果在构造此压缩输出流时syncFlush
为true
,则此方法首先使用刷新模式Deflater.SYNC_FLUSH
刷新底层compressor
以强制将所有挂起的数据刷新到输出流,然后刷新输出流。否则,此方法仅刷新输出流而不刷新compressor
。- 指定者:
-
flush
在接口Flushable
中 - 覆盖:
-
flush
在类FilterOutputStream
- 抛出:
-
IOException
- 如果发生I/O错误 - 自从:
- 1.7
- 参见:
-