Sample code for 30+ languages & platforms
Java

Another Path-in-Zip Example

See more Zip Examples

Another example about getting the correct paths within a .zip.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.Zip;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Zip zip = new Zip();

        // Intialize the zip object by calling NewZip.
        zip.newZip("myZip.zip");

        // Add references to files:
        boolean recurse = true;
        zip.appendFiles("c:\\temp\\a\\subdir1\\*", recurse);

        // Assuming that the file c:\temp\a\subdir1\dude.gif exists,
        // the .zip will contain "dude.gif" without any path information.

        // The component has no
        // choice but to use "c:\\temp\\a\\subdir1" as the root.
        // It's not possible for the component to know if you
        // wanted subdir1\ or a\subdir1\ or temp\a\subdir1
        // paths prefixed for each file added.

        // To control the path within the zip, set the AppendFromDir
        // directory and then use a relative path in AppendFiles.
        // For example:
        zip.setAppendFromDir("c:\\temp\\a");

        zip.appendFiles("subdir1\\*", recurse);

        // This causes c:\temp\a\subdir1\dude.gif to be added as
        // "subdir1\dude.gif" within the .zip.

        // If you need the path within the .zip to be "a\subdir", then
        // do this:
        zip.setAppendFromDir("c:\\temp");
        zip.appendFiles("a\\subdir1\\*", recurse);

        zip.writeZipAndClose();
    }
}