`
zhao103804
  • 浏览: 124707 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java解压jar文件

 
阅读更多
/** 
* 解压缩JAR包 
* @param fileName 文件名 
* @param outputPath 解压输出路径 
* @throws IOException IO异常 
*/ 
private void decompress(String fileName, String outputPath) throws IOException{ 

if (!outputPath.endsWith(File.separator)) { 

outputPath += File.separator; 

} 

JarFile jf = new JarFile(fileName); 

for (Enumeration e = jf.entries(); e.hasMoreElements();) 
{ 
JarEntry je = (JarEntry) e.nextElement(); 
String outFileName = outputPath + je.getName(); 
File f = new File(outFileName); 
System.out.println(f.getAbsolutePath()); 

//创建该路径的目录和所有父目录 
makeSupDir(outFileName); 

//如果是目录,则直接进入下一个循环 
if(f.isDirectory()) 
{ 
continue; 
} 

InputStream in = null; 
OutputStream out = null; 

try 
{ 
in = jf.getInputStream(je); 
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); 
} 
}catch (IOException ioe) 
{ 
throw ioe; 
} finally 
{ 
try 
{ 
if (null != out) 
{ 
out.flush(); 
out.close(); 
} 
} catch (IOException ioe) 
{ 
throw ioe; 
} 
                   finally 
                   { 
if (null != in) 
{ 
in.close(); 
} 
} 
                   } 
} 
} 

/** 
* 循环创建父目录 
* @param outFileName 
*/ 
private void makeSupDir(String outFileName) { 
//匹配分隔符 
Pattern p = Pattern.compile("[/\\" + File.separator + "]"); 
Matcher m = p.matcher(outFileName); 
//每找到一个匹配的分隔符,则创建一个该分隔符以前的目录 
while (m.find()) { 
int index = m.start(); 
String subDir = outFileName.substring(0, index); 
File subDirFile = new File(subDir); 
if (!subDirFile.exists()) 
subDirFile.mkdir(); 
} 
}

 

分享到:
评论

相关推荐

    java压缩(解压)文件jar包

    Apache的java压缩(解压)文件jar包; jar包的名字有些别扭叫ant.jar

    java生成Jar文件命令

    - `x`:解压Jar文件。 - `u`:更新已有Jar文件,添加新的文件或目录。 为了使Java程序能够直接运行,你需要在Manifest文件中指定主类。可以使用以下命令创建包含主类的Manifest文件: ```bash echo "Main-Class: ...

    java解压jar包及示例

    总结一下,Java解压RAR文件涉及使用第三方库如`java-unrar`,通过创建RarFile对象,遍历并解压文件条目来完成。同时,`ant.jar`在构建流程中可用于自动化解压缩任务。`DeCompressUtil.java`中的示例代码提供了解压的...

    jar文件如何打开或者jar文件关联到java

    除了上述方法外,还可以借助于第三方工具如7-Zip等来解压JAR文件。这种方法虽然不能直接运行JAR文件中的程序,但对于查看其内部结构非常有帮助。 #### 二、JAR文件与Java环境的关联 为了使JAR文件能够像其他可...

    java解压7z用到的jar及解压方法

    为了在Java中实现7z文件的解压功能,我们通常会依赖第三方库,这里提到的是"sevenzipjbinding"库。这个库为Java提供了与7-Zip交互的API,使我们能够在Java代码中调用7-Zip的解压缩功能。 首先,我们需要导入必要的...

    java调用外部jar文件

    在这个方法中,我们可以实现读取外部jar文件,解压其内容,并找到对应的类字节码。以下是一个基本的类加载器示例: ```java public class CustomClassLoader extends ClassLoader { private File jarFile; ...

    解压用到的jar包

    总的来说,ant-1.6.5.jar和junrar-0.7.jar为Java开发者提供了强大的文件解压缩能力,不仅支持常见的ZIP格式,还支持RAR这一特殊格式,使得Java应用程序能够更灵活地处理压缩文件。在开发需要处理压缩文件的应用时,...

    tomcat 部署java项目 jar

    - JAR文件是一个归档文件格式,用于集合多个Java类文件、资源文件和元数据,类似于其他平台上的ZIP文件。 - 在Java Web应用中,JAR文件可能包含Servlet类、过滤器、监听器等组件。 3. **部署Java Web应用到Tomcat...

    java解压jar类查找工具

    总之,"java解压jar类查找工具"是一款高效实用的开发辅助工具,利用多线程技术在Linux和Windows环境下快速定位jar和zip中的class文件,极大地提升了开发人员的工作效率。通过理解它的核心技术,如多线程、文件系统...

    java解压zlib和压缩zlib的jar

    java解压zlib和压缩zlib的jar

    查看 java jar 文件

    查看Java JAR文件对于理解程序结构、调试或逆向工程非常重要。在给定的标题和描述中,提到的是一个专门用于查看JAR文件的工具——"查看java jar 文件的查看器",并且特别指出这是一个绿色版本,意味着它不需要安装...

    Java 解压带密码的 RAR文件

    Java解压RAR文件,压缩包内包含源码、Jar包、依赖包和示例程序,也可以从http://code.google.com/p/java-unrar/downloads/list这里下载支持密码的unrar项目(包括源码和jar包),其依赖包也很容易搜到。 RAR 密码

    解压cab文件Jar包mscab.jar

    【标题】"解压cab文件Jar包mscab.jar"涉及的主要知识点是关于 CAB(Microsoft Cabinet)文件格式和Java的jar包处理。CAB文件是一种由微软开发的压缩格式,主要用于软件安装程序,它包含了多个文件和相关的元数据。而...

    Java 解压Rar文件

    java 解压 rar 文件,压缩包为测试工程,包含 java-unrar-0.3.jar

    用java解压*.zip*.rar*.gz*.bz*.bz2等压缩文件含jar

    标题提到的"用java解压*.zip*.rar*.gz*.bz*.bz2等压缩文件含jar"涉及到Java对多种压缩格式的支持,包括ZIP、RAR、GZ、BZ和BZ2。这些文件格式在软件开发、数据传输和存储中广泛使用。下面我们将详细讨论如何使用Java...

    所有java的Jar包

    这个“所有java的Jar包”压缩文件可能包含了众多Java开发中常用的库、框架或者工具的JAR文件。由于文件大小限制,这里仅提供了部分,如有需要可进一步联系获取更多。 JAR文件的核心作用: 1. **代码封装**:将多个...

    java解压和压缩tar包

    首先,`javatar-2.5.jar`是一个专门用于处理tar文件的Java库,它提供了解压和压缩tar文件的API,方便开发者在Java项目中进行文件的打包和解包操作。这个库特别强调了解决中文文件名乱码的问题,确保在处理包含非...

    Java源文件读取JAR包文件.rar

    JAR文件是Java平台的标准归档格式,用于集合多个Java类文件和其他资源。它通常用于分发可执行的Java应用程序或库。JAR文件可以包含一个名为`META-INF/MANIFEST.MF`的清单文件,其中包含了关于JAR的信息,如主类、...

    java实现批量解压带密码的 rar or zip 文件

    在Java编程环境中,批量解压带密码的RAR或ZIP文件是一项常见的任务,特别是在软件开发过程中,可能需要处理包含源码和库文件的压缩包。本文将深入探讨如何使用Java实现这个功能,以及涉及的相关知识点。 首先,解压...

    Java压缩及解压tar、tar.z格式文件

    Java压缩及解压tar、tar.z格式文件, 需要apache的包ant-1.7.1.jar 这个自己去搜索下下载

Global site tag (gtag.js) - Google Analytics