java 里面如何打包压缩文件
时间: 2024-03-19 18:43:11 浏览: 30
在Java中,可以使用ZipOutputStream类来实现将文件打包成zip格式压缩文件的功能。以下是一个简单的示例代码:
```java
import java.io.*;
import java.util.zip.*;
public class ZipUtil {
public static void zip(File sourceFile, File zipFile) throws IOException {
FileOutputStream fos = new FileOutputStream(zipFile);
ZipOutputStream zos = new ZipOutputStream(fos);
zipFile(sourceFile, zos, "");
zos.close();
fos.close();
}
private static void zipFile(File file, ZipOutputStream zos, String prefix) throws IOException {
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File subFile : files) {
zipFile(subFile, zos, prefix + file.getName() + "/");
}
} else {
FileInputStream fis = new FileInputStream(file);
ZipEntry zipEntry = new ZipEntry(prefix + file.getName());
zos.putNextEntry(zipEntry);
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) > 0) {
zos.write(buffer, 0, len);
}
zos.closeEntry();
fis.close();
}
}
}
```
使用时只需调用ZipUtil类的zip方法,传入要压缩的文件或文件夹以及压缩后的输出文件即可:
```java
File sourceFile = new File("source_folder");
File zipFile = new File("output.zip");
ZipUtil.zip(sourceFile, zipFile);
```