Create a simple ZIP File: not retain any directory path information about the files. : ZipFile « File « Java Tutorial






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

public class Main {

  static String rmPath(String fName) {
    int pos = fName.lastIndexOf(File.separatorChar);
    if (pos > -1)
      fName = fName.substring(pos + 1);
    return fName;
  }

  public static void main(String args[]) throws Exception {
    ZipOutputStream fout = new ZipOutputStream(new BufferedOutputStream(
        new FileOutputStream(args[0])));

    for (int n = 1; n < args.length; n++) {

      BufferedInputStream fin = new BufferedInputStream(new FileInputStream(
          args[n]));
      ZipEntry ze = new ZipEntry(rmPath(args[n]));

      fout.putNextEntry(ze);

      int i;
      do {
        i = fin.read();
        if (i != -1)
          fout.write(i);
      } while (i != -1);

      fout.closeEntry();
      fin.close();

      System.out.println("Compressing " + args[n]);
      System.out.println(" Original Size: " + ze.getSize()
          + " Compressed Size: " + ze.getCompressedSize() + "\n");
    }
    fout.close();
  }
}








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.