中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何用Java實現zlib壓縮和解壓

小樊
82
2024-08-11 02:05:40
欄目: 編程語言

可以使用Java中提供的InflaterDeflater類來實現zlib壓縮和解壓功能。

以下是一個簡單的示例代碼,演示如何使用Java實現zlib壓縮和解壓:

import java.util.zip.Deflater;
import java.util.zip.Inflater;

public class ZlibExample {
  
  public static byte[] compress(byte[] data) {
    Deflater deflater = new Deflater();
    deflater.setInput(data);
    deflater.finish();
    
    byte[] buffer = new byte[data.length];
    int compressedDataLength = deflater.deflate(buffer);
    
    byte[] compressedData = new byte[compressedDataLength];
    System.arraycopy(buffer, 0, compressedData, 0, compressedDataLength);
    
    deflater.end();
    
    return compressedData;
  }
  
  public static byte[] decompress(byte[] compressedData) {
    Inflater inflater = new Inflater();
    inflater.setInput(compressedData);
    
    byte[] buffer = new byte[compressedData.length * 2];
    int decompressedDataLength;
    try {
      decompressedDataLength = inflater.inflate(buffer);
    } catch (Exception e) {
      decompressedDataLength = 0;
    }
    
    byte[] decompressedData = new byte[decompressedDataLength];
    System.arraycopy(buffer, 0, decompressedData, 0, decompressedDataLength);
    
    inflater.end();
    
    return decompressedData;
  }
  
  public static void main(String[] args) {
    String data = "Hello, World!";
    byte[] compressedData = compress(data.getBytes());
    System.out.println("Compressed data: " + new String(compressedData));
    
    byte[] decompressedData = decompress(compressedData);
    System.out.println("Decompressed data: " + new String(decompressedData));
  }
}

在上面的示例中,compress()方法用于對數據進行壓縮,decompress()方法用于對壓縮后的數據進行解壓。在main()方法中,我們演示了如何壓縮和解壓數據。

0
固原市| 中牟县| 保靖县| 华容县| 菏泽市| 望江县| 门源| 宜兴市| 佛学| 盐边县| 上饶县| 凉山| 嘉祥县| 兖州市| 思南县| 阿拉善左旗| 达州市| 沙湾县| 西乌珠穆沁旗| 易门县| 萨嘎县| 游戏| 罗城| 正定县| 手机| 遵义市| 定西市| 昭苏县| 清涧县| 汉沽区| 左云县| 常州市| 汤阴县| 新邵县| 九台市| 普定县| 本溪| 广丰县| 剑河县| 墨竹工卡县| 修武县|