jar 解压war_war包解压命令

jar 解压war_war包解压命令文章来源:java实现可压缩或解压缩WAR文件packageutils;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;impo…

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

Jetbrains全系列IDE稳定放心使用

文章来源:

java实现可压缩或解压缩WAR文件

package utils;

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);

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(“不支持的压缩格式”);

}

}

}

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185805.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • webservice框架有哪些_webservice框架发布方式

    webservice框架有哪些_webservice框架发布方式毕业了,一直更新技术博客,也跳槽到一家上市的公司,他们产品的主要通讯是通过Webservice,以前对Webservice只是做了大致的了解,今天就在网上找一些开源的知识点,现在市面上主流的夸平台传送有JSON和SOAP两种数据格式,总结一下。以下转自至 http://yulimin.iteye.com/blog/128498新一代的WebServices框架如Axis2、CXF都

  • pycharm代码特效插件_pycharm插件在哪

    pycharm代码特效插件_pycharm插件在哪相信对于不少的Python程序员们都是用Pycharm作为开发时候的IDE来使用的,今天小编来分享几个好用到爆的Pycharm插件,在安装上之后,你的编程效率、工作效率都能够得到极大地提升…

  • CentOS搭建Git服务器及权限管理

    CentOS搭建Git服务器及权限管理

    2021年10月23日
  • 简单的说下nginx和apache的区别~~~[通俗易懂]

    简单的说下nginx和apache的区别~~~[通俗易懂]浅谈nginx和apache的优缺点~~~一、分别介绍nginx和apache1.nginx2.apache二、apache相对于nginx的优缺点1.优点2.缺点总结一、分别介绍nginx和apache1.nginx什么是nginx:Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru站点开发,Nginx因为性能稳定、低系统资源消耗而闻名,近几年Nginx在国内已经成炙热化状态,比如像腾讯、网易、51CTO、迅雷、当当

  • 解释器模式-破解算术验证码

    解释器模式-破解算术验证码给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。

  • 《算法图解》-9动态规划 背包问题,行程最优化

    《算法图解》-9动态规划 背包问题,行程最优化本文属于《算法图解》系列。学习动态规划,这是一种解决棘手问题的方法,它将问题分成小问题,并先着手解决这些小问题。一背包问题背包问题,在可装物品有限的前提下,尽量装价值最大的物品,如果物品数量足够大,简单的暴力穷举法是不可行的O(2ⁿ),前一章介绍了《贪婪算法》就是解决如何找到近似解,这接近最优解,但可能不是最优解。如何找到最优解呢?就是动态规划算法。动态规划先解决子问题,…

发表回复

您的电子邮箱地址不会被公开。

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