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 中文站