今天写点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