今天写点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文件相关推荐

  1. java 解压tgz文件

    java 解压tgz文件 pom 引入依赖 <dependency><groupId>org.apache.commons</groupId><artifac ...

  2. Java解压zip文件(文本)压缩包

    2019独角兽企业重金招聘Python工程师标准>>> 说明:由于我们的日志收集到指定服务器上,会按天压缩成一个zip格式的压缩包,但是有时候需要对这些日志进行处理,人工解压在处理, ...

  3. java解压gz文件

    http://panshaobinsb.iteye.com/blog/1566231 下面是网上的代码 http://www.iteye.com/topic/894879 Java代码   impor ...

  4. 用Java解压lz文件

    可以使用 Apache Commons Compress 库来解压 lz 文件. 首先,需要在项目中导入这个库,可以使用 Maven 或者 Gradle 进行依赖管理. 然后,可以使用以下代码来解压 ...

  5. java解压zip文件

    package com.chuangqi.tools;import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile ...

  6. java解压zip文件,处理文件名不能为中文

    1.最近工作需要把压缩文件解压,经过测试有两种方法,一种是JDK自带的ZipFile,       另外一种是org.apache.tools.zip进行解压. 2.经测试,JDK自带的文件不能处理文 ...

  7. Java解压Zip文件 小结

    1.首先,列举以下会提及到的三种解压方式:操作7z.exe解压.使用ant-1.9.6.jar解压.使用zip4j-1.3.2.jar解压. 2.第一种:java操作7z.exe解压文件,其实就是通过 ...

  8. java如何解压rar文件怎么打开,java解压rar文件

    该文章参考了iteye某位大虾的博客,我自己进行了修改.请大家参考 package cn; import java.io.File; import java.io.FileNotFoundExcept ...

  9. java解压服务器文件夹,java获取远程服务器上的文件夹

    java获取远程服务器上的文件夹 内容精选 换一换 安装X722板载网卡驱动软件包,使裸金属服务器支持在v5服务器上下发.其他类型服务器可跳过此步骤.本文以Windows Server 2016为例, ...

最新文章

  1. 几行代码搞定ML模型,低代码机器学习Python库正式开源
  2. 测试openstack neutron的网络连通性
  3. Python/Jupyter Notebook以及可视化的运用
  4. 985高校6年招聘8000多青年人才引热议!高校割起年轻博士的韭菜有多疯狂?
  5. HDU - 3333 Turing Tree(线段树+离线处理)
  6. mac 下载python库,Mac电脑安装python第三方库(就于python3)
  7. Spring Reactive已经过时了吗? 螺纹连接反转
  8. linux c 获取文件数量
  9. [C#] UTF-8 ENCODING=QUOTED-PRINTABLE 的解码和编码
  10. python正则表达式面试题,带有utf8问题的python正则表达式
  11. Eclipse常用开发插件(转)
  12. 《东周列国志》第四十九回 公子鲍厚施买国 齐懿公竹池遇变
  13. 51单片机学习笔记0 -- 仿真软件安装(Protues8.0)
  14. 【PHP】openssl_sign(): supplied key param cannot be coerced into a private key
  15. DataScope v1.0 串口虚拟示波器使用
  16. 【Python】全局变量(含义、使用要求、代码调试步骤)
  17. KernelBase.dll中有未经处理的异常,求助大神!!!
  18. Visual C++6.0画三维立体图形
  19. chrome浏览器崩溃,设置也崩溃的解决办法
  20. 史上最超级KB的10个故事~你撑到第几个才发抖

热门文章

  1. 火狐怎么打开html页面,电脑如何设置火狐浏览器主页|电脑设置火狐启动页面的方法...
  2. zabbix结合qqmail发送故障信息
  3. 关于金融评级机构及金融公司
  4. 2022QS世界大学排名:全球全日制MBA、商科硕士榜单公布
  5. 人机大战5个误区:人类没那么差阿尔法狗不会防水
  6. 3.暴力破解凯撒密码
  7. WordPress网站为什么及如何使用CDN加速访问
  8. matlab创建反正弦asin,JavaScript中反正弦函数Math.asin()的使用简介
  9. UML设计系列(6):活动图
  10. PMP考试 变更管理专题