Java.util.zip.DeflaterOutputStream класс в Java

Опубликовано: 15 Февраля, 2022

Java.util.zip.DeflaterInputStream класс в Java

Этот класс реализует фильтр выходного потока для сжатия данных в формате сжатия «deflate». Он также используется в качестве основы для других типов фильтров сжатия, таких как GZIPOutputStream.
Конструкторы и описание

  • DeflaterOutputStream (OutputStream out): создает новый выходной поток с компрессором по умолчанию и размером буфера.
  • DeflaterOutputStream (OutputStream out, boolean syncFlush): создает новый выходной поток с компрессором по умолчанию, размером буфера по умолчанию и указанным режимом очистки.
  • DeflaterOutputStream (OutputStream out, Deflater def): создает новый выходной поток с указанным компрессором и размером буфера по умолчанию.
  • DeflaterOutputStream (OutputStream out, Deflater def, boolean syncFlush): создает новый выходной поток с указанным компрессором, режимом очистки и размером буфера по умолчанию.
  • DeflaterOutputStream (OutputStream out, Deflater def, int size): создает новый выходной поток с указанным компрессором и размером буфера.
  • DeflaterOutputStream (OutputStream out, Deflater def, int size, boolean syncFlush): создает новый выходной поток с указанным компрессором, размером буфера и режимом очистки.

Methods:

  • void close() : Writes remaining compressed data to the output stream and closes the underlying stream.
    Syntax :public void close()
               throws IOException
    Overrides:
    close in class FilterOutputStream
    Throws:
    IOException
  • protected void deflate() : Writes next block of compressed data to the output stream.
    Syntax :protected void deflate()
                    throws IOException
    Throws:
    IOException
  • void finish() : Finishes writing compressed data to the output stream without closing the underlying stream.
    Syntax :public void finish()
                throws IOException
    Throws:
    IOException
  • void flush() :Flushes the compressed output stream.
    Syntax :public void flush()
               throws IOException
    Overrides:
    flush in class FilterOutputStream
    Throws:
    IOException
  • void write(byte[] b, int off, int len) : Writes an array of bytes to the compressed output stream.
    Syntax :public void write(byte[] b,
             int off,
             int len)
               throws IOException
    Overrides:
    write in class FilterOutputStream
    Parameters:
    b - the data to be written
    off - the start offset of the data
    len - the length of the data
    Throws:
    IOException
  • void write(int b) : Writes a byte to the compressed output stream.
    Syntax :public void write(int b)
               throws IOException
    Overrides:
    write in class FilterOutputStream
    Parameters:
    b - the byte to be written
    Throws:
    IOException
//Java program to demonstrate DeflaterOutputStream
  
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.DeflaterOutputStream;
  
class DeflaterOutputStreamDemo
{
    public static void main(String[] args) throws IOException 
    {
  
        FileOutputStream fos = new FileOutputStream("file2.txt");
  
        //Assign FileOutputStream to DeflaterOutputStream
        DeflaterOutputStream dos = new DeflaterOutputStream(fos);
  
        //write it into DeflaterOutputStream
        for (int i = 0; i <10 ; i++) 
        {
            dos.write(i);
        }
          
        //illustrating flush() method()
        dos.flush();
          
        //illustrating finish()
        //Finishes writing compressed data to the output stream
        // without closing the underlying stream
        dos.finish();
          
        //fos is not closed
        //writing some data on file
        fos.write("G");
      
        //Writes remaining compressed data to the output stream
        // closes the underlying stream.
        dos.close();
    }
}

Примечание. Вывод программы не будет виден в онлайн-среде IDE, так как file2.txt здесь нельзя прочитать.

Автор статьи - Нишант Шарма . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .