Create checksum for a zip file : ZipFile « File « Java Tutorial






import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.Adler32;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class Main {
  public static void main(String[] args) throws Exception {
    CheckedOutputStream checksum = new CheckedOutputStream(
        new FileOutputStream("data.zip"), new Adler32());
    ZipOutputStream zos = new ZipOutputStream(new BufferedOutputStream(checksum));

    int size = 0;
    byte[] buffer = new byte[1024];

    File dir = new File(".");
    String[] files = dir.list();

    for (int i = 0; i < files.length; i++) {
      System.out.println("Compressing: " + files[i]);
      FileInputStream fis = new FileInputStream(files[i]);
      ZipEntry zipEntry = new ZipEntry(files[i]);
      zos.putNextEntry(zipEntry);

      while ((size = fis.read(buffer, 0, buffer.length)) > 0) {
        zos.write(buffer, 0, size);
      }
      zos.closeEntry();
      fis.close();
    }
    zos.close();
    System.out.println("Checksum   : " + checksum.getChecksum().getValue());
  }
}








11.62.ZipFile
11.62.1.Create a zip file
11.62.2.Read zip file
11.62.3.Read a zip file checksum value
11.62.4.Write Zip file
11.62.5.Create checksum for a zip file
11.62.6.Use ZipFile to list all entries
11.62.7.Retrieve a compressed file from a ZIP file
11.62.8.Extract file/files from a zip file
11.62.9.Get uncompressed and compressed Size
11.62.10.Get file time for all zipped files
11.62.11.Get zip method: ZipEntry.STORED, ZipEntry.DEFLATED
11.62.12.Get CRC code for a zipped file
11.62.13.Get comment for a zipped file
11.62.14.Making a zip file of directory including its subdirectories recursively
11.62.15.Create a simple ZIP File: not retain any directory path information about the files.