Create a compressed (ZIP) fileFrom WikiJava
This example shows how to generate a zip file containing several other files.
the articleThe example uses the NOTE: There no way to directly add or modify an entry to a ZIP file after its creation. To do so, rename the old ZIP to a temporary filename. Expand the contents of the old ZIP, create the new ZIP, add the original contents plus the new files and delete the old ZIP when done. Zip.java/* ** a simple ZIP tool ** ** ex. java Zip file.1 file.2 > file.zip ** */ import java.io.*; import java.util.zip.*; class Zip { public static void main(String args[]) throws IOException { byte b[] = new byte[512]; ZipOutputStream zout = new ZipOutputStream(System.out); for(int i = 0; i < args.length; i ++) { InputStream in = new FileInputStream(args[i]); ZipEntry e = new ZipEntry(args[i].replace(File.separatorChar,'/')); zout.putNextEntry(e); int len=0; while((len=in.read(b)) != -1) { zout.write(b,0,len); } zout.closeEntry(); print(e); } zout.close(); } public static void print(ZipEntry e){ PrintStream err = System.err; err.print("added " + e.getName()); if (e.getMethod() == ZipEntry.DEFLATED) { long size = e.getSize(); if (size > 0) { long csize = e.getCompressedSize(); long ratio = ((size-csize)*100) / size; err.println(" (deflated " + ratio + "%)"); } else { err.println(" (deflated 0%)"); } } else { err.println(" (stored 0%)"); } } } See Also |
