Рубрики

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

Класс 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): Создает новый выходной поток с указанным компрессором, размером буфера и режимом очистки.

Методы:

  • void close (): записывает оставшиеся сжатые данные в выходной поток и закрывает основной поток.
    Syntax :public void close()
               throws IOException
    Overrides:
    close in class FilterOutputStream
    Throws:
    IOException
  • protected void deflate (): записывает следующий блок сжатых данных в выходной поток.
    Syntax :protected void deflate()
                    throws IOException
    Throws:
    IOException
  • void finish (): заканчивает запись сжатых данных в выходной поток без закрытия основного потока.
    Syntax :public void finish()
                throws IOException
    Throws:
    IOException
  • void flush (): очищает сжатый поток вывода.
    Syntax :public void flush()
               throws IOException
    Overrides:
    flush in class FilterOutputStream
    Throws:
    IOException
  • void write (byte [] b, int off, int len): записывает массив байтов в сжатый поток вывода.
    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): записывает байт в сжатый поток вывода.
    Syntax :public void write(int b)
               throws IOException
    Overrides:
    write in class FilterOutputStream
    Parameters:
    b - the byte to be written
    Throws:
    IOException

// Java-программа для демонстрации 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");

  

        // Назначаем FileOutputStream для DeflaterOutputStream

        DeflaterOutputStream dos = new DeflaterOutputStream(fos);

  

        // записать его в DeflaterOutputStream

        for (int i = 0; i <10 ; i++) 

        {

            dos.write(i);

        }

          

        // иллюстрируем метод flush () ()

        dos.flush();

          

        // иллюстрирую finish ()

        // Завершает запись сжатых данных в выходной поток

        // без закрытия основного потока

        dos.finish();

          

        // Фос не закрыт

        // записываем некоторые данные в файл

        fos.write('G');

      

        // Записывает оставшиеся сжатые данные в выходной поток

        // закрывает основной поток

        dos.close();

    }

}

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

Эта статья предоставлена Nishant Sharma . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

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

Рекомендуемые посты:

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

0.00 (0%) 0 votes