Module java.base
Package java.util.zip

Class DeflaterInputStream

    • Field Detail

      • def

        protected final Deflater def
        Compressor for this stream.
      • buf

        protected final byte[] buf
        Input buffer for reading compressed data.
    • Constructor Detail

      • DeflaterInputStream

        public DeflaterInputStream​(InputStream in)
        Creates a new input stream with a default compressor and buffer size.
        Parameters:
        in - input stream to read the uncompressed data to
        Throws:
        NullPointerException - if in is null
      • DeflaterInputStream

        public DeflaterInputStream​(InputStream in,
                                   Deflater defl)
        Creates a new input stream with the specified compressor and a default buffer size.
        Parameters:
        in - input stream to read the uncompressed data to
        defl - compressor ("deflater") for this stream
        Throws:
        NullPointerException - if in or defl is null
      • DeflaterInputStream

        public DeflaterInputStream​(InputStream in,
                                   Deflater defl,
                                   int bufLen)
        Creates a new input stream with the specified compressor and buffer size.
        Parameters:
        in - input stream to read the uncompressed data to
        defl - compressor ("deflater") for this stream
        bufLen - compression buffer size
        Throws:
        IllegalArgumentException - if bufLen <= 0
        NullPointerException - if in or defl is null
    • Method Detail

      • read

        public int read()
                 throws IOException
        Reads a single byte of compressed data from the input stream. This method will block until some input can be read and compressed.
        Overrides:
        read in class FilterInputStream
        Returns:
        a single byte of compressed data, or -1 if the end of the uncompressed input stream is reached
        Throws:
        IOException - if an I/O error occurs or if this stream is already closed
        See Also:
        FilterInputStream.in
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws IOException
        Reads compressed data into a byte array. This method will block until some input can be read and compressed.
        Overrides:
        read in class FilterInputStream
        Parameters:
        b - buffer into which the data is read
        off - starting offset of the data within b
        len - maximum number of compressed bytes to read into b
        Returns:
        the actual number of bytes read, or -1 if the end of the uncompressed input stream is reached
        Throws:
        IndexOutOfBoundsException - if len > b.length - off
        IOException - if an I/O error occurs or if this input stream is already closed
        See Also:
        FilterInputStream.in
      • skip

        public long skip​(long n)
                  throws IOException
        Skips over and discards data from the input stream. This method may block until the specified number of bytes are read and skipped. Note: While n is given as a long, the maximum number of bytes which can be skipped is Integer.MAX_VALUE.
        Overrides:
        skip in class FilterInputStream
        Parameters:
        n - number of bytes to be skipped
        Returns:
        the actual number of bytes skipped
        Throws:
        IOException - if an I/O error occurs or if this stream is already closed
      • available

        public int available()
                      throws IOException
        Returns 0 after EOF has been reached, otherwise always return 1.

        Programs should not count on this method to return the actual number of bytes that could be read without blocking

        Overrides:
        available in class FilterInputStream
        Returns:
        zero after the end of the underlying input stream has been reached, otherwise always returns 1
        Throws:
        IOException - if an I/O error occurs or if this stream is already closed