java.util.zip.Inflater.read() 方法示例


java.util.zip.Inflater.read() 方法示例

package com.codingdict;



import java.io.ByteArrayInputStream;

import java.io.IOException;

import java.util.zip.DataFormatException;

import java.util.zip.Deflater;

import java.util.zip.InflaterInputStream;



public class InflaterInputStreamDemo {

   public static void main(String[] args) throws DataFormatException, IOException {

      String message = "Welcome to codingdict.com;"

         +"Welcome to codingdict.com;"

         +"Welcome to codingdict.com;"

         +"Welcome to codingdict.com;"

         +"Welcome to codingdict.com;"

         +"Welcome to codingdict.com;"

         +"Welcome to codingdict.com;"

         +"Welcome to codingdict.com;"

         +"Welcome to codingdict.com;"

         +"Welcome to codingdict.com;";

      System.out.println("Original Message length : " + message.length());

      byte[] input = message.getBytes("UTF-8");

      int length = message.length();

      // Compress the bytes

      byte[] output = new byte[1024];

      Deflater deflater = new Deflater();

      deflater.setInput(input);



      deflater.finish();

      int compressedDataLength = deflater.deflate(output,0 , output.length, Deflater.NO_FLUSH);

      System.out.println("Total uncompressed bytes input :" + deflater.getTotalIn());

      System.out.println("Compressed Message Checksum :" + deflater.getAdler());     

      deflater.finished();



      System.out.println("Compressed Message length : " + compressedDataLength);



      ByteArrayInputStream bin = new ByteArrayInputStream(output);

      InflaterInputStream inflaterInputStream = new InflaterInputStream(bin);

      byte[] result = new byte[1024];



      inflaterInputStream.read(result, 0, result.length);



      inflaterInputStream.close();

      // Decode the bytes into a String

      String message1 = new String(result,0, length,"UTF-8");

      System.out.println(message.equals(message1));

   }

}