DeflaterOutputStream  |  API reference  |  Android Developers (original) (raw)

open class DeflaterOutputStream : FilterOutputStream

kotlin.Any
java.io.OutputStream
java.io.FilterOutputStream

This class implements an output stream filter for compressing data in the "deflate" compression format. It is also used as the basis for other types of compression filters, such as GZIPOutputStream.

Summary

Public constructors
DeflaterOutputStream(out: OutputStream!) Creates a new output stream with a default compressor and buffer size.
DeflaterOutputStream(out: OutputStream!, syncFlush: Boolean) Creates a new output stream with a default compressor, a default buffer size and the specified flush mode.
DeflaterOutputStream(out: OutputStream!, def: Deflater!) Creates a new output stream with the specified compressor and a default buffer size.
DeflaterOutputStream(out: OutputStream!, def: Deflater!, syncFlush: Boolean) Creates a new output stream with the specified compressor, flush mode and a default buffer size.
DeflaterOutputStream(out: OutputStream!, def: Deflater!, size: Int) Creates a new output stream with the specified compressor and buffer size.
DeflaterOutputStream(out: OutputStream!, def: Deflater!, size: Int, syncFlush: Boolean) Creates a new output stream with the specified compressor, buffer size and flush mode.
Public methods
open Unit close() Writes remaining compressed data to the output stream and closes the underlying stream.
open Unit finish() Finishes writing compressed data to the output stream without closing the underlying stream.
open Unit flush() Flushes the compressed output stream.
open Unit write(b: ByteArray!, off: Int, len: Int) Writes an array of bytes to the compressed output stream.
open Unit write(b: Int) Writes a byte to the compressed output stream.
Protected methods
open Unit deflate() Writes next block of compressed data to the output stream.
Inherited functions
From class OutputStream OutputStream! nullOutputStream() Returns a new OutputStream which discards all bytes. The returned stream is initially open. The stream is closed by calling the close() method. Subsequent calls to close() have no effect. While the stream is open, the write(int), write(byte[]), and write(byte[], int, int) methods do nothing. After the stream has been closed, these methods all throw IOException. The flush() method does nothing.
From class FilterOutputStream Unit write(b: ByteArray!) Writes b.length bytes to this output stream. The write method of FilterOutputStream calls its write method of three arguments with the arguments b, 0, and b.length. Note that this method does not call the one-argument write method of its underlying output stream with the single argument b.
Properties
ByteArray! buf Output buffer for writing compressed data.
Deflater! def Compressor for this stream.
Inherited properties
From class FilterOutputStream OutputStream! out The underlying output stream to be filtered.

Public constructors

DeflaterOutputStream

DeflaterOutputStream(out: OutputStream!)

Creates a new output stream with a default compressor and buffer size.

The new output stream instance is created as if by invoking the 2-argument constructor DeflaterOutputStream(out, false).

Parameters
out OutputStream!: the output stream

DeflaterOutputStream

DeflaterOutputStream(
    out: OutputStream!,
    syncFlush: Boolean)

Creates a new output stream with a default compressor, a default buffer size and the specified flush mode.

Parameters
out OutputStream!: the output stream
syncFlush Boolean: if true the #flush() method of this instance flushes the compressor with flush mode Deflater.SYNC_FLUSH before flushing the output stream, otherwise only flushes the output stream

DeflaterOutputStream

DeflaterOutputStream(
    out: OutputStream!,
    def: Deflater!)

Creates a new output stream with the specified compressor and a default buffer size.

The new output stream instance is created as if by invoking the 3-argument constructor DeflaterOutputStream(out, def, false).

Parameters
out OutputStream!: the output stream
def Deflater!: the compressor ("deflater")

DeflaterOutputStream

DeflaterOutputStream(
    out: OutputStream!,
    def: Deflater!,
    syncFlush: Boolean)

Creates a new output stream with the specified compressor, flush mode and a default buffer size.

Parameters
out OutputStream!: the output stream
def Deflater!: the compressor ("deflater")
syncFlush Boolean: if true the #flush() method of this instance flushes the compressor with flush mode Deflater.SYNC_FLUSH before flushing the output stream, otherwise only flushes the output stream

DeflaterOutputStream

DeflaterOutputStream(
    out: OutputStream!,
    def: Deflater!,
    size: Int)

Creates a new output stream with the specified compressor and buffer size.

The new output stream instance is created as if by invoking the 4-argument constructor DeflaterOutputStream(out, def, size, false).

Parameters
out OutputStream!: the output stream
def Deflater!: the compressor ("deflater")
size Int: the output buffer size
Exceptions
java.lang.IllegalArgumentException if size <= 0

DeflaterOutputStream

DeflaterOutputStream(
    out: OutputStream!,
    def: Deflater!,
    size: Int,
    syncFlush: Boolean)

Creates a new output stream with the specified compressor, buffer size and flush mode.

Parameters
out OutputStream!: the output stream
def Deflater!: the compressor ("deflater")
size Int: the output buffer size
syncFlush Boolean: if true the #flush() method of this instance flushes the compressor with flush mode Deflater.SYNC_FLUSH before flushing the output stream, otherwise only flushes the output stream
Exceptions
java.lang.IllegalArgumentException if size <= 0

Public methods

close

open fun close(): Unit

Writes remaining compressed data to the output stream and closes the underlying stream.

Exceptions
java.lang.Exception if this resource cannot be closed
java.io.IOException if an I/O error has occurred

finish

open fun finish(): Unit

Finishes writing compressed data to the output stream without closing the underlying stream. Use this method when applying multiple filters in succession to the same output stream.

Exceptions
java.io.IOException if an I/O error has occurred

flush

open fun flush(): Unit

Flushes the compressed output stream. If [ syncFlush](#DeflaterOutputStream%28java.io.OutputStream,%20java.util.zip.Deflater,%20kotlin.Int,%20kotlin.Boolean%29) is true when this compressed output stream is constructed, this method first flushes the underlying compressor with the flush mode [Deflater.SYNC_FLUSH](/reference/kotlin/java/util/zip/Deflater#SYNC%5FFLUSH:kotlin.Int) to force all pending data to be flushed out to the output stream and then flushes the output stream. Otherwise this method only flushes the output stream without flushing the compressor.

Exceptions
java.io.IOException if an I/O error has occurred

write

open fun write(
    b: ByteArray!,
    off: Int,
    len: Int
): Unit

Writes an array of bytes to the compressed output stream. This method will block until all the bytes are written.

Parameters
b ByteArray!: the data to be written
off Int: the start offset of the data
len Int: the length of the data
Exceptions
java.io.IOException if an I/O error has occurred

write

open fun write(b: Int): Unit

Writes a byte to the compressed output stream. This method will block until the byte can be written.

Parameters
b Int: the byte to be written
Exceptions
java.io.IOException if an I/O error has occurred

Protected methods

deflate

protected open fun deflate(): Unit

Writes next block of compressed data to the output stream.

Exceptions
java.io.IOException if an I/O error has occurred

Properties

buf

protected var buf: ByteArray!

Output buffer for writing compressed data.

def

protected var def: Deflater!

Compressor for this stream.