import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipExample {
public static void zipFile(String filePath, String zipFilePath) {
try {
// 创建文件输入流
File fileToZip = new File(filePath);
FileInputStream fis = new FileInputStream(fileToZip);
// 创建ZIP输出流
File zipFile = new File(zipFilePath);
FileOutputStream fos = new FileOutputStream(zipFile);
ZipOutputStream zos = new ZipOutputStream(fos);
// 创建ZIP条目
ZipEntry zipEntry = new ZipEntry(fileToZip.getName());
zos.putNextEntry(zipEntry);
// 缓存字节数组
byte[] bytes = new byte[1024];
int length;
while ((length = fis.read(bytes)) >= 0) {
zos.write(bytes, 0, length);
}
// 关闭资源
zos.closeEntry();
zos.close();
fis.close();
fos.close();
System.out.println("文件压缩成功!");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// 示例:将 "example.txt" 压缩为 "example.zip"
zipFile("example.txt", "example.zip");
}
}
java.io
和 java.util.zip
包,用于处理文件输入输出和压缩操作。filePath
) 和生成的 ZIP 文件路径 (zipFilePath
)。FileInputStream
打开待压缩的文件。FileOutputStream
和 ZipOutputStream
创建一个新的 ZIP 文件,并准备写入数据。ZipEntry
创建一个 ZIP 条目,表示 ZIP 文件中的一个文件。zipFile
方法来压缩文件。希望这段代码和解释对你有帮助!
上一篇:java命名
下一篇:java跳出本次循环
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站