java压缩/解压war包

java压缩/解压war包packagecom.kingsoft.unwar;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用
package com.kingsoft.unwar;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.Iterator;import org.apache.commons.compress.archivers.ArchiveException;import org.apache.commons.compress.archivers.ArchiveInputStream;import org.apache.commons.compress.archivers.ArchiveOutputStream;import org.apache.commons.compress.archivers.ArchiveStreamFactory;import org.apache.commons.compress.archivers.jar.JarArchiveEntry;import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;import org.apache.commons.compress.utils.IOUtils;import org.apache.commons.io.FileUtils;/** * 处理WAR文件工具类。可压缩或解压缩WAR文件。 * * @author Xiong Shuhong(shelltea@gmail.com) */public class WarUtils { public static void unzip(String warPath, String unzipPath) { File warFile = new File(warPath); if(warFile.isDirectory()){ for(String fileName : warFile.list()){ System.out.println(fileName); if(fileName.trim().endsWith(“.war”)){ System.out.println(“————-“); warPath = warPath + File.separator + fileName; System.out.println(warPath); warFile = new File(warPath); break; } } }else{ return; } try { BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(warFile)); ArchiveInputStream in = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.JAR, bufferedInputStream); JarArchiveEntry entry = null; while ((entry = (JarArchiveEntry) in.getNextEntry()) != null) { if (entry.isDirectory()) { new File(unzipPath, entry.getName()).mkdir(); } else { OutputStream out = FileUtils.openOutputStream(new File(unzipPath, entry.getName())); IOUtils.copy(in, out); out.close(); } } in.close(); } catch (FileNotFoundException e) { System.err.println(“未找到war文件”); } catch (ArchiveException e) { System.err.println(“不支持的压缩格式”); } catch (IOException e) { System.err.println(“文件写入发生错误”); } } public static void zip(String destFile, String zipDir) { File outFile = new File(destFile); try { outFile.createNewFile(); BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(outFile)); ArchiveOutputStream out = new ArchiveStreamFactory().createArchiveOutputStream(ArchiveStreamFactory.JAR, bufferedOutputStream); if (zipDir.charAt(zipDir.length() – 1) != ‘/’) { zipDir += ‘/’; } Iterator files = FileUtils.iterateFiles(new File(zipDir), null, true); while (files.hasNext()) { File file = files.next(); ZipArchiveEntry zipArchiveEntry = new ZipArchiveEntry(file, file.getPath().replace( zipDir.replace(“/”, “\\”), “”)); out.putArchiveEntry(zipArchiveEntry); IOUtils.copy(new FileInputStream(file), out); out.closeArchiveEntry(); } out.finish(); out.close(); } catch (IOException e) { System.err.println(“创建文件失败”); } catch (ArchiveException e) { System.err.println(“不支持的压缩格式”); } } public static void main(String[] args) { new WarUtils().unzip(“C:\\nihao”, “C:\\nihao”);; } }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186059.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 决策树分析例题经典案例_决策树原理及一个简单的小例子[通俗易懂]

    决策树分析例题经典案例_决策树原理及一个简单的小例子[通俗易懂]首先通过两个图来引入什么是决策树。是否学习的决策过程决策树是仿树结构来进行决策的,例如上图来说,我们要对‘是否学习’这个问题进行决策时,通常伴随一系列的子决策。先看是否有‘对象’,有的话是否需要‘陪伴对象’,通过一次次子决策后得到最终决策:是否学习。一般情况下,一棵决策树包含一个根节点,若干内部节点和若干叶节点,如下图所示,那么与是否学习的决策过程对应起来,‘女票’为根节点,’陪女友’和‘任务’‘…

    2025年10月2日
    6
  • 一文看懂风控模型所有

    一文看懂风控模型所有【与数据同行】已开通综合、数据仓库、数据分析、产品经理、数据治理及机器学习六大专业群,加微信号frank61822702为好友后入群。新开招聘交流群,请关注【与数据同行】公众号,后台回…

    2022年6月6日
    45
  • 解决Pycharm和pip都安装TensorFlow失败的问题(Windows 10)

    解决Pycharm和pip都安装TensorFlow失败的问题(Windows 10)pip报错:Couldnotfindaversionthatsatisfiestherequirementtensorflow(fromversions:)NomatchingdistributionfoundfortensorflowPycharm报错:Erroroccuredwheninstallingpackage‘tensorflow’解决…

    2022年8月26日
    4
  • github 京东自动签到_手机京东签到在哪里

    github 京东自动签到_手机京东签到在哪里京东自动签到(利用github实现)+Cooki失效解决办法京东自动签到https://ruicky.me/2020/06/05/jd-sign/参考上面这篇文章,就不转载过来了,原文已经写的很详细了。但自己实践时Sevrer酱提示Cookie失效,同时也看到此文下面有很多跟我一样情况的,所以有提示Cookie失效的请用下面链接的方法获取Cookie,记得复制出来的Cookie值要把所有空格删除。获取京东Cookiehttps://www.plus888.com/21061.html…

    2025年11月29日
    4
  • 笔记本计算机卡,笔记本电脑越来越卡怎么办 不同原因解决方法不同[通俗易懂]

    笔记本计算机卡,笔记本电脑越来越卡怎么办 不同原因解决方法不同[通俗易懂]1、由于系统原因导致笔记本越用越卡的问题,懂装系统并且不怕麻烦的用户可以重装新系统,这样可以彻底解决系统卡顿问题,适当的清理一些不要的垃圾文件软件等,若是不懂得小白或者怕麻烦的人,也可以选择市面上的各类XX安全卫士、XX电脑管家带有的垃圾清理功能清理一些垃圾文件及注册表等无用文件、软件,并且养成定期清理垃圾的好习惯。2、由于硬件原因导致笔记本越用越卡的问题,则需要看看笔记本是因为哪些硬件导致的,决…

    2025年11月1日
    1
  • python处理亿级大数据(rar暴力破解器安卓版)

    转载请注明出处:https://blog.csdn.net/l1028386804/article/details/85566045今天是2019年元旦,首先祝大家元旦快乐,在这个喜庆的日子里,不知道大家有没有坚持研究自己所在领域的知识。其实,每项知识、技能的积累,需要的是日复一日的坚持,正所谓——持之以恒,贵在坚持,这样才能做到每天进步一点点。好了,步入正题,今天,闲来无事,基于Python…

    2022年4月15日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号