- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.util.zip.InflaterOutputStream
-
- All Implemented Interfaces:
-
Closeable
,Flushable
,AutoCloseable
public class InflaterOutputStream extends FilterOutputStream
实现输出流过滤器,用于解压缩以“放气”压缩格式存储的数据。- 从以下版本开始:
- 1.6
- 另请参见:
-
InflaterInputStream
,DeflaterInputStream
,DeflaterOutputStream
-
-
Field Summary
Fields Modifier and Type Field 描述 protected byte[]
buf
用于写入未压缩数据的输出缓冲区。protected Inflater
inf
解压缩此流。-
Fields inherited from class java.io.FilterOutputStream
out
-
-
构造方法摘要
构造方法 Constructor 描述 InflaterOutputStream(OutputStream out)
使用默认解压缩器和缓冲区大小创建新的输出流。InflaterOutputStream(OutputStream out, Inflater infl)
使用指定的解压缩器和默认缓冲区大小创建新的输出流。InflaterOutputStream(OutputStream out, Inflater infl, int bufLen)
使用指定的解压缩器和缓冲区大小创建新的输出流。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
close()
将任何剩余的未压缩数据写入输出流并关闭底层输出流。void
finish()
完成将未压缩数据写入输出流,而不关闭底层流。void
flush()
刷新此输出流,强制任何待处理的缓冲输出字节被写入。void
write(byte[] b, int off, int len)
将一组字节写入未压缩的输出流。void
write(int b)
将一个字节写入未压缩的输出流。-
Methods inherited from class java.io.FilterOutputStream
write
-
-
-
-
字段详细信息
-
inf
protected final Inflater inf
解压缩此流。
-
buf
protected final byte[] buf
用于写入未压缩数据的输出缓冲区。
-
-
构造方法详细信息
-
InflaterOutputStream
public InflaterOutputStream(OutputStream out)
使用默认解压缩器和缓冲区大小创建新的输出流。- 参数
-
out
- 将未压缩数据写入的输出流 - 异常
-
NullPointerException
- 如果out
为空
-
InflaterOutputStream
public InflaterOutputStream(OutputStream out, Inflater infl)
使用指定的解压缩器和默认缓冲区大小创建新的输出流。- 参数
-
out
- 将未压缩数据写入的输出流 -
infl
- 此流的解压缩程序(“inflater”) - 异常
-
NullPointerException
- 如果out
或infl
为空
-
InflaterOutputStream
public InflaterOutputStream(OutputStream out, Inflater infl, int bufLen)
使用指定的解压缩器和缓冲区大小创建新的输出流。- 参数
-
out
- 将未压缩数据写入的输出流 -
infl
- 此流的解压缩程序(“inflater”) -
bufLen
- 解压缩缓冲区大小 - 异常
-
IllegalArgumentException
- 如果是bufLen <= 0
-
NullPointerException
- 如果out
或infl
为null
-
-
方法详细信息
-
close
public void close() throws IOException
将任何剩余的未压缩数据写入输出流并关闭底层输出流。- Specified by:
-
close
在接口AutoCloseable
- Specified by:
-
close
在接口Closeable
- 重写:
-
close
在FilterOutputStream
- 异常
-
IOException
- 如果发生I / O错误 - 另请参见:
-
FilterOutputStream.flush()
,FilterOutputStream.out
-
flush
public void flush() throws IOException
刷新此输出流,强制任何待处理的缓冲输出字节被写入。- Specified by:
-
flush
在接口Flushable
- 重写:
-
flush
在FilterOutputStream
- 异常
-
IOException
- 如果发生I / O错误或该流已经关闭 - 另请参见:
-
FilterOutputStream.out
-
finish
public void finish() throws IOException
完成将未压缩数据写入输出流,而不关闭底层流。 在连续使用多个过滤器到相同的输出流时使用此方法。- 异常
-
IOException
- 如果发生I / O错误或该流已经关闭
-
write
public void write(int b) throws IOException
将一个字节写入未压缩的输出流。- 重写:
-
write
在FilterOutputStream
- 参数
-
b
- 压缩数据的单字节解压缩并写入输出流 - 异常
-
IOException
- 如果发生I / O错误或该流已经关闭 -
ZipException
- 如果发生压缩(ZIP)格式错误
-
write
public void write(byte[] b, int off, int len) throws IOException
将一组字节写入未压缩的输出流。- 重写:
-
write
在FilterOutputStream
- 参数
-
b
- 包含压缩数据以缓冲和写入输出流的缓冲区 -
off
-b
内压缩数据的起始偏移量 -
len
- 从b
解压缩的字节数 - 异常
-
IndexOutOfBoundsException
- 如果是off < 0
,或者如果是len < 0
,或者如果是len > b.length - off
-
IOException
- 如果发生I / O错误或该流已经关闭 -
NullPointerException
- 如果b
为空 -
ZipException
- 如果发生压缩(ZIP)格式错误 - 另请参见:
-
FilterOutputStream.write(int)
-
-