Как сжать массив байтов

Этот совет Java иллюстрирует пример сжатия массив байтов. Разработчик может сжать массив байтов с помощью класса Deflater.


    byte[] input = "compression string".getBytes();

    

    // Compressor with highest level of compression

    Deflater compressor = new Deflater();

    compressor.setLevel(Deflater.BEST_COMPRESSION);

    

    // Give the compressor the data to compress

    compressor.setInput(input);

    compressor.finish();

    

    // Create an expandable byte array to hold the compressed data.

    // It is not necessary that the compressed data will be smaller than

    // the uncompressed data.

    ByteArrayOutputStream bos = new ByteArrayOutputStream(input.length);

    

    // Compress the data

    byte[] buf = new byte[1024];

    while (!compressor.finished()) {

        int count = compressor.deflate(buf);

        bos.write(buf, 0, count);

    }

    try {

        bos.close();

    catch (IOException e) {

    }

    

    // Get the compressed data

    byte[] compressedData = bos.toByteArray();

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>