java中怎么实现一个压缩包工具类
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章给大家介绍java中怎么实现一个压缩包工具类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。package com.tools;import java.io.*;impor
千家信息网最后更新 2025年02月02日java中怎么实现一个压缩包工具类
这篇文章给大家介绍java中怎么实现一个压缩包工具类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
package com.tools;import java.io.*;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;public class ZipCompress { private String zipFileName; private String sourceFileName; public ZipCompress(String zipFileName, String sourceFileName) { this.zipFileName = zipFileName; this.sourceFileName = sourceFileName; } public void zip( ) throws RuntimeException { ZipOutputStream zos = null; try { zos = new ZipOutputStream(new FileOutputStream(zipFileName)); java.io.File sourceFile = new java.io.File(sourceFileName); compress(sourceFile, zos, sourceFile.getName()); System.out.println("压缩完成" ); } catch (Exception e) { throw new RuntimeException("zip error from ZipCompress", e); } finally { if (zos != null) { try { zos.close(); } catch (IOException e) { e.printStackTrace(); } } } } /** * 递归压缩方法 * * @param sourceFile 源文件 * @param zos zip输出流 * @param name 压缩后的名称 * @throws Exception */ private static void compress(java.io.File sourceFile, ZipOutputStream zos, String name) throws Exception { byte[] buf = new byte[2 * 1024]; if (sourceFile.isFile()) { zos.putNextEntry(new ZipEntry(name)); int len; FileInputStream in = new FileInputStream(sourceFile); while ((len = in.read(buf)) != -1) { zos.write(buf, 0, len); } zos.closeEntry(); in.close(); } else { java.io.File[] listFiles = sourceFile.listFiles(); if (listFiles == null || listFiles.length == 0) { zos.putNextEntry(new ZipEntry(name + "/")); zos.closeEntry(); } else { for (java.io.File file : listFiles) { compress(file, zos, name + "/" + file.getName()); } } } }}
调用
//filePath 生成压缩包的地址String filePath = 前缀地址 + 名称+ ".zip";File zip = new File(filePath);zip.deleteOnExit();//path 需要压缩的文件夹ZipCompress zipCompress = new ZipCompress(filePath, path);try { zipCompress.zip();} catch (Exception e) { e.printStackTrace();}
关于java中怎么实现一个压缩包工具类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
工具
内容
名称
地址
更多
帮助
不错
兴趣
前缀
小伙
小伙伴
文件
文件夹
文章
方法
源文件
知识
篇文章
递归
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网创造的科技
福州策马赫网络技术
keil5软件开发环境介绍
浙江电脑服务器机箱采购
政府的OA系统用什么软件开发
财务软件备案数据库类型
网络安全法建设推进情况
无源光网络技术课本第二章
安卓嵌入式软件开发工程师
学软件开发门槛高吗
远程协助灰色服务器管理器
京东用的数据库
迈鼎信网络技术
教育行业软件开发什么
html如何接数据库
2020全球网络安全大会
后端数据怎么传到数据库
广东社交软件开发哪家好
数据库文件由什么构成
管理服务器账户没有权限
七家网络安全培训班
财务软件备案数据库类型
防止MySQL数据库误删
通信网络安全保护提升法
国际接轨的计算机软件开发语言
网络安全法草案 2017
搭建本地App服务器
北辰区网络安全委员
网络安全隐患图
qt数据库更新update