Class InflaterOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- java.io.FilterOutputStream
-
- java.util.zip.InflaterOutputStream
- All Implemented Interfaces:
-
Closeable
,Flushable
,AutoCloseable
public class InflaterOutputStream extends FilterOutputStream
Implements an output stream filter for uncompressing data stored in the "deflate" compression format.
- Since:
- 1.6
- See Also:
-
InflaterInputStream
,DeflaterInputStream
,DeflaterOutputStream
Field Summary
Modifier and Type | Field | Description |
---|---|---|
protected byte[] | buf | Output buffer for writing uncompressed data. |
protected Inflater | inf | Decompressor for this stream. |
Fields declared in class java.io.FilterOutputStream
out
Constructor Summary
Constructor | Description |
---|---|
InflaterOutputStream(OutputStream out) | Creates a new output stream with a default decompressor and buffer size. |
InflaterOutputStream(OutputStream out,
Inflater infl) | Creates a new output stream with the specified decompressor and a default buffer size. |
InflaterOutputStream(OutputStream out,
Inflater infl,
int bufLen) | Creates a new output stream with the specified decompressor and buffer size. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
void | close() | Writes any remaining uncompressed data to the output stream and closes the underlying output stream. |
void | finish() | Finishes writing uncompressed data to the output stream without closing the underlying stream. |
void | flush() | Flushes this output stream, forcing any pending buffered output bytes to be written. |
void | write(byte[] b,
int off,
int len) | Writes an array of bytes to the uncompressed output stream. |
void | write(int b) | Writes a byte to the uncompressed output stream. |
Methods declared in class java.io.FilterOutputStream
write
Methods declared in class java.io.OutputStream
nullOutputStream
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
inf
protected final Inflater inf
Decompressor for this stream.
buf
protected final byte[] buf
Output buffer for writing uncompressed data.
Constructor Detail
InflaterOutputStream
public InflaterOutputStream(OutputStream out)
Creates a new output stream with a default decompressor and buffer size.
- Parameters:
-
out
- output stream to write the uncompressed data to - Throws:
-
NullPointerException
- ifout
is null
InflaterOutputStream
public InflaterOutputStream(OutputStream out, Inflater infl)
Creates a new output stream with the specified decompressor and a default buffer size.
- Parameters:
-
out
- output stream to write the uncompressed data to -
infl
- decompressor ("inflater") for this stream - Throws:
-
NullPointerException
- ifout
orinfl
is null
InflaterOutputStream
public InflaterOutputStream(OutputStream out, Inflater infl, int bufLen)
Creates a new output stream with the specified decompressor and buffer size.
- Parameters:
-
out
- output stream to write the uncompressed data to -
infl
- decompressor ("inflater") for this stream -
bufLen
- decompression buffer size - Throws:
-
IllegalArgumentException
- ifbufLen <= 0
-
NullPointerException
- ifout
orinfl
is null
Method Detail
close
public void close() throws IOException
Writes any remaining uncompressed data to the output stream and closes the underlying output stream.
- Specified by:
-
close
in interfaceAutoCloseable
- Specified by:
-
close
in interfaceCloseable
- Overrides:
-
close
in classFilterOutputStream
- Throws:
-
IOException
- if an I/O error occurs - See Also:
-
FilterOutputStream.flush()
,FilterOutputStream.out
flush
public void flush() throws IOException
Flushes this output stream, forcing any pending buffered output bytes to be written.
- Specified by:
-
flush
in interfaceFlushable
- Overrides:
-
flush
in classFilterOutputStream
- Throws:
-
IOException
- if an I/O error occurs or this stream is already closed - See Also:
FilterOutputStream.out
finish
public void finish() throws IOException
Finishes writing uncompressed data to the output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream.
- Throws:
-
IOException
- if an I/O error occurs or this stream is already closed
write
public void write(int b) throws IOException
Writes a byte to the uncompressed output stream.
- Overrides:
-
write
in classFilterOutputStream
- Parameters:
-
b
- a single byte of compressed data to decompress and write to the output stream - Throws:
-
IOException
- if an I/O error occurs or this stream is already closed -
ZipException
- if a compression (ZIP) format error occurs
write
public void write(byte[] b, int off, int len) throws IOException
Writes an array of bytes to the uncompressed output stream.
- Overrides:
-
write
in classFilterOutputStream
- Parameters:
-
b
- buffer containing compressed data to decompress and write to the output stream -
off
- starting offset of the compressed data withinb
-
len
- number of bytes to decompress fromb
- Throws:
-
IndexOutOfBoundsException
- ifoff < 0
, or iflen < 0
, or iflen > b.length - off
-
IOException
- if an I/O error occurs or this stream is already closed -
NullPointerException
- ifb
is null -
ZipException
- if a compression (ZIP) format error occurs - See Also:
FilterOutputStream.write(int)