解压jar文件
来源:互联网 发布:cad软件二次开发 编辑:程序博客网 时间:2024/04/30 13:27
import java.io.*;
import java.util.jar.*;
import java.util.zip.*;
import java.util.*;
public class JarLoader extends ClassLoader
{
public JarLoader() {}
public synchronized void load(String archive, String outDir) throws IOException
{
ArrayList classes = new ArrayList();
JarFile jf = new JarFile(archive);
File dir = new File(outDir);
if (!dir.exists())
System.out.println(this.Mkdir(outDir, 2));
for(Enumeration e = jf.entries(); e.hasMoreElements(); )
{
JarEntry je = (JarEntry)e.nextElement();
//System.out.println(je.getName());
if(je.getName().endsWith(".class"))
{
InputStream in = jf.getInputStream(je);
File f = new File(outDir+File.separator+je.getName());
f.createNewFile();
OutputStream out = new BufferedOutputStream(new FileOutputStream(f));
byte[] buffer = new byte[2048];
int nBytes = 0;
// for (;;) {
// int nBytes = in.read(buffer);
// if (nBytes <= 0) break;
// out.write(buffer, 0, nBytes);
// }
while((nBytes = in.read(buffer)) > 0){
out.write(buffer, 0, nBytes);
}
out.flush();
out.close();
in.close();
}
}
}
public String Mkdir(String path, int pos)
{
String msg = "";
File dir = null;
if (!path.endsWith("//")) path = path + "//";
//System.out.println(path.length());
if (path.indexOf("//", pos) <= 0){
return msg;
}else{
if (pos < path.length()-1)
{
pos = path.indexOf("//", pos+1);
//System.out.println(pos);
//System.out.println(path.substring(0, pos));
dir = new File(path.substring(0, pos));
if (!dir.exists()) dir.mkdir();
Mkdir(path, pos);
}
}
return msg;
}
public static void main(String[] args)
{
try{
JarLoader jl = new JarLoader();
jl.load("moto.jar", "c://test//1//2//3//5//7//8//8//0//5//4");
}catch(Exception e){
System.out.println(e);
}
}
}
- 解压jar文件
- Java解压Jar文件
- zip,jar,tar文件解压
- Jar文件不能解压解决办法
- 使用RAR解压Jar文件
- 怎样制作自解压的jar文件
- 怎样制作自解压的jar文件
- 将.jar文件解压到指定目录?
- Jar文件的处理_解压
- 怎样制作自解压jar文件
- jar文件使用代码解压出现异常
- baksmali.jar 解压odex文件,带框架
- cmd压缩和解压jar文件
- jar命令 创建和解压jar文件包
- 学习jar命令 创建和解压jar文件包
- 学习jar命令 创建和解压jar文件包
- 学习jar命令 创建和解压jar文件包
- 学习jar命令 创建和解压jar文件包
- 第一天上班
- 源码公开的嵌入式实时操作系统T-Kernel
- 正则表达式中的特殊字符
- 绘制GIF图片闪烁问题!
- SOA为什么在中国的电信行业受到冷遇(希望与大家探讨)
- 解压jar文件
- ovow 第一次公司内部培训顺利结束
- 用JDom轻松整合Java和XML
- 使用JDOM处理XML文档的技巧
- [H/W] EFI SYSET 指令使用事例
- dom4j(Version 1.6.1)快速入门
- java String.getBytes()编码问题
- 【转】C# split 使用方法
- crontab命令使用