Java 打包 ZIP 文件详解
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipFiles {
/**
* 将单个文件打包成ZIP文件
* @param srcFile 要打包的文件
* @param zipFileName 打包后的ZIP文件名
* @throws IOException 文件操作或者ZIP处理过程中可能发生的异常
*/
public static void zipSingleFile(String srcFile, String zipFileName) throws IOException {
// 创建ZIP输出流
try (ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(zipFileName))) {
// 创建ZIP条目
ZipEntry zipEntry = new ZipEntry(srcFile);
// 添加ZIP条目
zipOut.putNextEntry(zipEntry);
// 读取文件内容并写入到ZIP文件中
try (FileInputStream fileInputStream = new FileInputStream(srcFile)) {
byte[] buffer = new byte[1024];
int length;
while ((length = fileInputStream.read(buffer)) > 0) {
zipOut.write(buffer, 0, length);
}
}
}
}
public static void main(String[] args) {
try {
zipSingleFile("example.txt", "example.zip");
System.out.println("文件打包成功!");
} catch (IOException e) {
System.err.println("打包文件时发生错误:" + e.getMessage());
}
}
}
这段代码演示了如何使用Java的ZipOutputStream
类将单个文件打包成ZIP文件。首先创建了一个ZipOutputStream
对象,然后创建了一个ZipEntry
对象来表示要打包的文件,并将其添加到ZIP输出流中。接着,使用FileInputStream
读取文件内容,并将其写入到ZIP输出流中。最后,关闭所有的流以确保所有资源被正确释放。
评论已关闭