Java解压Jar文件
今天写点java解压jar文件的东西,以前项目中用到过,很简单。。。
java中有专门的文件类型对应jar文件,那就是JarFile,用于从任何可以使用java.io.RandomAccessFile打开的文件中读取jar文件内容,详情可参考JarFile
解压只是使用JarFile的相关api,源码如下:
public class JARDecompressionTool {/*** 解压并删除jar文件*/public static synchronized void decompress(String fileName,String outputPath){if (!outputPath.endsWith(File.separator)) {outputPath += File.separator;}File dir = new File(outputPath);if (!dir.exists()) {dir.mkdirs();}JarFile jf = null;try{jf = new JarFile(fileName);for (Enumeration<JarEntry> e = jf.entries(); e.hasMoreElements();) {JarEntry je = (JarEntry) e.nextElement();String outFileName = outputPath + je.getName();File f = new File(outFileName);if(je.isDirectory()){if(!f.exists()){f.mkdirs();}}else{File pf = f.getParentFile();if(!pf.exists()){pf.mkdirs();}InputStream in = jf.getInputStream(je);OutputStream out = new BufferedOutputStream(new FileOutputStream(f));byte[] buffer = new byte[2048];int nBytes = 0;while ((nBytes = in.read(buffer)) > 0) {out.write(buffer, 0, nBytes);}out.flush();out.close();in.close();}}}catch(Exception e){System.out.println("解压"+fileName+"出错---"+e.getMessage());}finally{if(jf!=null){try {jf.close();File jar = new File(jf.getName());if(jar.exists()){jar.delete();}} catch (IOException e) {e.printStackTrace();}}}}
}
Java解压Jar文件相关推荐
- java 解压tgz文件
java 解压tgz文件 pom 引入依赖 <dependency><groupId>org.apache.commons</groupId><artifac ...
- Java解压zip文件(文本)压缩包
2019独角兽企业重金招聘Python工程师标准>>> 说明:由于我们的日志收集到指定服务器上,会按天压缩成一个zip格式的压缩包,但是有时候需要对这些日志进行处理,人工解压在处理, ...
- java解压gz文件
http://panshaobinsb.iteye.com/blog/1566231 下面是网上的代码 http://www.iteye.com/topic/894879 Java代码 impor ...
- 用Java解压lz文件
可以使用 Apache Commons Compress 库来解压 lz 文件. 首先,需要在项目中导入这个库,可以使用 Maven 或者 Gradle 进行依赖管理. 然后,可以使用以下代码来解压 ...
- java解压zip文件
package com.chuangqi.tools;import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile ...
- java解压zip文件,处理文件名不能为中文
1.最近工作需要把压缩文件解压,经过测试有两种方法,一种是JDK自带的ZipFile, 另外一种是org.apache.tools.zip进行解压. 2.经测试,JDK自带的文件不能处理文 ...
- Java解压Zip文件 小结
1.首先,列举以下会提及到的三种解压方式:操作7z.exe解压.使用ant-1.9.6.jar解压.使用zip4j-1.3.2.jar解压. 2.第一种:java操作7z.exe解压文件,其实就是通过 ...
- java如何解压rar文件怎么打开,java解压rar文件
该文章参考了iteye某位大虾的博客,我自己进行了修改.请大家参考 package cn; import java.io.File; import java.io.FileNotFoundExcept ...
- java解压服务器文件夹,java获取远程服务器上的文件夹
java获取远程服务器上的文件夹 内容精选 换一换 安装X722板载网卡驱动软件包,使裸金属服务器支持在v5服务器上下发.其他类型服务器可跳过此步骤.本文以Windows Server 2016为例, ...
最新文章
- 几行代码搞定ML模型,低代码机器学习Python库正式开源
- 测试openstack neutron的网络连通性
- Python/Jupyter Notebook以及可视化的运用
- 985高校6年招聘8000多青年人才引热议!高校割起年轻博士的韭菜有多疯狂?
- HDU - 3333 Turing Tree(线段树+离线处理)
- mac 下载python库,Mac电脑安装python第三方库(就于python3)
- Spring Reactive已经过时了吗? 螺纹连接反转
- linux c 获取文件数量
- [C#] UTF-8 ENCODING=QUOTED-PRINTABLE 的解码和编码
- python正则表达式面试题,带有utf8问题的python正则表达式
- Eclipse常用开发插件(转)
- 《东周列国志》第四十九回 公子鲍厚施买国 齐懿公竹池遇变
- 51单片机学习笔记0 -- 仿真软件安装(Protues8.0)
- 【PHP】openssl_sign(): supplied key param cannot be coerced into a private key
- DataScope v1.0 串口虚拟示波器使用
- 【Python】全局变量(含义、使用要求、代码调试步骤)
- KernelBase.dll中有未经处理的异常,求助大神!!!
- Visual C++6.0画三维立体图形
- chrome浏览器崩溃,设置也崩溃的解决办法
- 史上最超级KB的10个故事~你撑到第几个才发抖
热门文章
- 火狐怎么打开html页面,电脑如何设置火狐浏览器主页|电脑设置火狐启动页面的方法...
- zabbix结合qqmail发送故障信息
- 关于金融评级机构及金融公司
- 2022QS世界大学排名:全球全日制MBA、商科硕士榜单公布
- 人机大战5个误区:人类没那么差阿尔法狗不会防水
- 3.暴力破解凯撒密码
- WordPress网站为什么及如何使用CDN加速访问
- matlab创建反正弦asin,JavaScript中反正弦函数Math.asin()的使用简介
- UML设计系列(6):活动图
- PMP考试 变更管理专题