java zip 创建目录
时间: 2023-08-22 14:03:26 浏览: 72
要在Java中创建一个包含目录的zip文件,可以使用Java的ZipOutputStream类。以下是一个示例代码:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class CreateZipWithDirectory {
public static void main(String[] args) throws IOException {
File directory = new File("path/to/directory");
FileOutputStream fos = new FileOutputStream("path/to/zipfile.zip");
ZipOutputStream zos = new ZipOutputStream(fos);
addDirectoryToZip(directory, directory.getName(), zos);
zos.close();
fos.close();
}
private static void addDirectoryToZip(File directory, String path, ZipOutputStream zos) throws IOException {
for (File file : directory.listFiles()) {
if (file.isDirectory()) {
addDirectoryToZip(file, path + "/" + file.getName(), zos);
} else {
ZipEntry zipEntry = new ZipEntry(path + "/" + file.getName());
zos.putNextEntry(zipEntry);
// Copy the file contents to the ZipOutputStream
// ...
zos.closeEntry();
}
}
}
}
```
在这个例子中,`addDirectoryToZip()` 方法递归地遍历目录树,并添加每个文件和子目录到zip文件中。为了将目录结构保存在zip文件中,我们需要在每个条目的名称前加上目录路径。注意:在Unix和Windows中,路径分隔符是不同的,所以最好使用`File.separator`来分隔路径。
阅读全文