- 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 Inflaterinf解压缩此流。-
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 方法 描述 voidclose()将任何剩余的未压缩数据写入输出流并关闭底层输出流。voidfinish()完成将未压缩数据写入输出流,而不关闭底层流。voidflush()刷新此输出流,强制任何待处理的缓冲输出字节被写入。voidwrite(byte[] b, int off, int len)将一组字节写入未压缩的输出流。voidwrite(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)
-
-