怎么进行压缩jar
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇文章为大家展示了怎么进行压缩jar,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。场景页面上传jar包后台解压jar包页面展示所有package选择一个pa
千家信息网最后更新 2025年01月31日怎么进行压缩jar
本篇文章为大家展示了怎么进行压缩jar,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
场景
页面上传jar包
后台解压jar包
页面展示所有package
选择一个package
页面显示class和子package
选择class,进入class解析页面
选择package,显示class和子package
压缩成jar
package com.wuxiongwei.java.jar2;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.zip.CRC32;import java.util.zip.CheckedOutputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;/** * 非常好的工具类
* 压缩成jar. * @author * @version 1.0.0 */public class JarCompressor { private static Log log = LogFactory.getLog(JarCompressor.class); private static final int BUFFER = 8192; private File fileName; private String originalUrl; public JarCompressor(String pathName) { fileName = new File(pathName); } public void compress(String... pathName) { ZipOutputStream out = null; try { FileOutputStream fileOutputStream = new FileOutputStream(fileName); CheckedOutputStream cos = new CheckedOutputStream(fileOutputStream, new CRC32()); out = new ZipOutputStream(cos); String basedir = ""; for (int i = 0; i < pathName.length; i++) { compress(new File(pathName[i]), out, basedir); } out.close(); } catch (Exception e) { throw new RuntimeException(e); } } public void compress(String srcPathName) { File file = new File(srcPathName); if (!file.exists()) throw new RuntimeException(srcPathName + "不存在!"); try { FileOutputStream fileOutputStream = new FileOutputStream(fileName); CheckedOutputStream cos = new CheckedOutputStream(fileOutputStream, new CRC32()); ZipOutputStream out = new ZipOutputStream(cos); String basedir = ""; compress(file, out, basedir); out.close(); } catch (Exception e) { throw new RuntimeException(e); } } private void compress(File file, ZipOutputStream out, String basedir) { /* 判断是目录还是文件 */ if (file.isDirectory()) { this.compressDirectory(file, out, basedir); } else { this.compressFile(file, out, basedir); } } /** * 压缩目录 * @param dir * @param out * @param basedir */ private void compressDirectory(File dir, ZipOutputStream out, String basedir) { if (!dir.exists()) return; File[] files = dir.listFiles(); for (int i = 0; i < files.length; i++) { /* 递归 */ compress(files[i], out, basedir + dir.getName() + "/"); } } /** * 压缩文件 * @param file * @param out * @param basedir */ private void compressFile(File file, ZipOutputStream out, String basedir) { if (!file.exists()) { return; } try { BufferedInputStream bis = new BufferedInputStream( new FileInputStream(file)); String filePath = (basedir + file.getName()) .replaceAll(getOriginalUrl() + "/", ""); log.info("压缩文件:" + filePath); ZipEntry entry = new ZipEntry(filePath); out.putNextEntry(entry); int count; byte data[] = new byte[BUFFER]; while ((count = bis.read(data, 0, BUFFER)) != -1) { out.write(data, 0, count); } bis.close(); } catch (Exception e) { throw new RuntimeException(e); } } public static void main(String[] args) { JarCompressor zc = new JarCompressor("/Users/mac/Documents/other/bw2/test.jar"); zc.compress("/Users/mac/Documents/other/bw2/test/"); } public String getOriginalUrl() { return originalUrl; } public void setOriginalUrl(String originalUrl) { this.originalUrl = originalUrl; }}
上述内容就是怎么进行压缩jar,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
页面
文件
选择
内容
技能
目录
知识
简明
简明扼要
后台
场景
就是
工具
文章
更多
篇文章
行业
资讯
资讯频道
还是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发专业现状
和平精英一直连接服务器没有响应
政府网络安全知识网上答题
服务器 安卓源码
燃烧的远征声望数据库
软件开发费用价格
网络安全三员工作职责
网络安全主题观后感
服务器运维做什么
四川网络技术服务报价
服务器打印web
app数据库备份
移动云服务器centos
华为服务器的配置工具
企业服务器软件有什么用
哈尔滨网络安全资讯
国家数据库怎么下载
论软件开发者的伦理道德
集成技术中常用哪种网络技术
六六数据库
重庆工控软件开发公司
加载数据库前端收银系统
lol一直服务器异常
网络安全认知实习体会
一台服务器能支撑多大并发量
服务器c0000218蓝屏
厦门网络安全支队教导员
供电所网络安全法
c .exe数据库失败
河间软件开发有限公司