How do I create a ZIP file in Java?
What is the Java equivalent to this jar command:
C:\>jar cvf myjar.jar directory
I'd like to create this jar file programmatically as I can't be assured that the jar command will be on the system path where I could just run the external process. 
Edit: All I want is to archive (and compress) a directory开发者_Python百科. Doesn't have to follow any java standard. Ie: a standard zip is fine.
// These are the files to include in the ZIP file
    String[] source = new String[]{"source1", "source2"};
    // Create a buffer for reading the files
    byte[] buf = new byte[1024];
    try {
        // Create the ZIP file
        String target = "target.zip";
        ZipOutputStream out = new ZipOutputStream(new FileOutputStream(target));
        // Compress the files
        for (int i=0; i<source.length; i++) {
            FileInputStream in = new FileInputStream(source[i]);
            // Add ZIP entry to output stream.
            out.putNextEntry(new ZipEntry(source[i]));
            // Transfer bytes from the file to the ZIP file
            int len;
            while ((len = in.read(buf)) > 0) {
                out.write(buf, 0, len);
            }
            // Complete the entry
            out.closeEntry();
            in.close();
        }
        // Complete the ZIP file
        out.close();
    } catch (IOException e) {
    }
You can also use the answer from this post How to use JarOutputStream to create a JAR file?
Everything you'll want is in the java.util.jar package:
http://java.sun.com/javase/6/docs/api/java/util/jar/package-summary.html
 加载中,请稍侯......
      
精彩评论