public class DeflaterOutputStream extends FilterOutputStream
Deflater
Modifier and Type | Field and Description |
---|---|
protected byte[] |
buf
用于写入压缩数据的输出缓冲区
|
protected Deflater |
def
此流的压缩器。
|
out
Constructor and Description |
---|
DeflaterOutputStream(OutputStream out)
创建具有默认压缩器和缓冲区大小的新输出流。
|
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)
创建具有指定压缩器,缓冲区大小和冲洗模式的新输出流。
|
Modifier and Type | Method and Description |
---|---|
void |
close()
将剩余的压缩数据写入输出流并关闭底层流。
|
protected void |
deflate()
将下一个压缩数据块写入输出流。
|
void |
finish()
完成将压缩数据写入输出流,而不关闭底层流。
|
void |
flush()
刷新压缩的输出流。
|
void |
write(byte[] b, int off, int len)
将一个字节数组写入压缩的输出流。
|
void |
write(int b)
将一个字节写入压缩的输出流。
|
write
protected Deflater def
protected byte[] buf
public DeflaterOutputStream(OutputStream out, Deflater def, int size, boolean syncFlush)
out
- 输出流
def
- 压缩机(“deflater”)
size
- 输出缓冲区大小
syncFlush
- 如果
true
此实例的
flush()
方法在刷新输出流之前用冲洗模式
Deflater.SYNC_FLUSH
刷新压缩器,否则仅刷新输出流
IllegalArgumentException
- 如果
size <= 0
public DeflaterOutputStream(OutputStream out, Deflater def, int size)
通过调用4参数构造函数DeflaterOutputStream(out,def,size,false)创建新的输出流实例。
out
- 输出流
def
- 压缩机(“deflater”)
size
- 输出缓冲区大小
IllegalArgumentException
- 如果
size <= 0
public DeflaterOutputStream(OutputStream out, Deflater def, boolean syncFlush)
out
- 输出流
def
- 压缩机(“deflater”)
syncFlush
- 如果
true
此实例的
flush()
方法在刷新输出流之前用冲洗模式
Deflater.SYNC_FLUSH
刷新压缩器,否则仅刷新输出流
public DeflaterOutputStream(OutputStream out, Deflater def)
通过调用3参数构造函数DeflaterOutputStream(out,def,false)创建新的输出流实例。
out
- 输出流
def
- 压缩机(“deflater”)
public DeflaterOutputStream(OutputStream out, boolean syncFlush)
out
- 输出流
syncFlush
- 如果
true
本例的
flush()
方法在刷新输出流之前用冲洗模式
Deflater.SYNC_FLUSH
刷新压缩器,否则仅刷新输出流
public DeflaterOutputStream(OutputStream out)
通过调用2参数构造函数DeflaterOutputStream(out,false),创建新的输出流实例。
out
- 输出流
public void write(int b) throws IOException
write
在
FilterOutputStream
b
- 要写入的字节
IOException
- 如果发生I / O错误
public void write(byte[] b, int off, int len) throws IOException
write
在类别
FilterOutputStream
b
- 要写入的数据
off
- 数据的起始偏移量
len
- 数据的长度
IOException
- 如果发生I / O错误
FilterOutputStream.write(int)
public void finish() throws IOException
IOException
- 如果发生I / O错误
public void close() throws IOException
close
在接口
Closeable
close
在界面
AutoCloseable
close
在
FilterOutputStream
IOException
- 如果发生I / O错误
FilterOutputStream.flush()
,
FilterOutputStream.out
protected void deflate() throws IOException
IOException
- 如果发生I / O错误
public void flush() throws IOException
syncFlush
是true
时该压缩的输出流构成,该方法首先刷新底层compressor
与冲洗模式Deflater.SYNC_FLUSH
强制才能彻底流出到输出流的所有未决数据,然后刷新输出流。
否则,此方法仅刷新输出流,而不刷新compressor
。
flush
在界面
Flushable
flush
在类别
FilterOutputStream
IOException
- 如果发生I / O错误
FilterOutputStream.out