Java语言实现文件压缩
Java语言提供了多种方式实现文件压缩,以下是其中两种常用方法:
- 使用ZipOutputStream类进行压缩
ZipOutputStream类是Java提供的用于压缩文件为zip格式的类,可以通过它将多个文件或目录压缩为一个zip文件。
示例代码:
public static void zipFiles(String[] srcFiles, String zipPath) {
    try {
        // 创建zip输出流
        ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipPath));
        // 循环将每个文件压缩到zip文件中
        for (String srcFile : srcFiles) {
            File file = new File(srcFile);
            FileInputStream in = new FileInputStream(file);
            // 添加ZipEntry,并将输入流写入到压缩文件中
            out.putNextEntry(new ZipEntry(file.getName()));
            int len;
            byte[] buffer = new byte[1024];
            while ((len = in.read(buffer)) > 0) {
                out.write(buffer, 0, len);
            }
            out.closeEntry();
            in.close();
        }
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
- 使用GZIPOutputStream类进行压缩
GZIPOutputStream类是Java提供的用于压缩文件为gzip格式的类,可以通过它将单个文件压缩为一个gzip文件。
示例代码:
public static void gzipFile(String srcFile, String gzipPath) {
    try {
        // 创建gzip输出流
        GZIPOutputStream out = new GZIPOutputStream(new FileOutputStream(gzipPath));
        FileInputStream in = new FileInputStream(srcFile);
        int len;
        byte[] buffer = new byte[1024];
        // 将输入流写入到gzip文件中
        while ((len = in.read(buffer)) > 0) {
            out.write(buffer, 0, len);
        }
        in.close();
        out.finish();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
原文地址: https://www.cveoy.top/t/topic/b0fe 著作权归作者所有。请勿转载和采集!