java压缩不同路径下的文件到同一个zip包中
时间: 2024-03-09 19:49:42 浏览: 109
可以使用Java中的ZipOutputStream类来实现将不同路径下的文件压缩到同一个zip包中。以下是一个示例代码:
```java
import java.io.*;
import java.util.zip.*;
public class ZipDemo {
public static void main(String[] args) throws IOException {
String[] srcFiles = {"C:/file1.txt", "D:/file2.txt"}; // 要压缩的文件路径
String zipFile = "E:/output.zip"; // 压缩后的文件路径
try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile))) {
for (String srcFile : srcFiles) {
File file = new File(srcFile);
FileInputStream fis = new FileInputStream(file);
ZipEntry zipEntry = new ZipEntry(file.getName());
zos.putNextEntry(zipEntry);
byte[] bytes = new byte[1024];
int len;
while ((len = fis.read(bytes)) >= 0) {
zos.write(bytes, 0, len);
}
zos.closeEntry();
fis.close();
}
}
}
}
```
在上面的代码中,我们首先定义了要压缩的文件路径和压缩后的文件路径。然后,我们使用ZipOutputStream类创建压缩流,循环遍历要压缩的文件路径,依次将每个文件添加到压缩包中。最后,我们关闭流,完成压缩操作。
阅读全文