比如我们要解压这个url下 http://域名:端口号/文件夹/datai-cli-0.0.2.tgz,datai-cli-0.0.2.tgz的tgz文件里的某个文件,然后在上传,废话不多说了,上代码了

抓取url里的tgz文件,解压成inpitStream

public InputStream  downLoadFromUrl(String urlStr) throws IOException{URL url = new URL(urlStr);HttpURLConnection conn = (HttpURLConnection)url.openConnection();//设置超时间为3秒conn.setConnectTimeout(3*1000);//防止屏蔽程序抓取而返回403错误conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");//得到输入流InputStream inputStream = conn.getInputStream();return inputStream;}
List<File> file = unTar(new GzipCompressorInputStream(inputStream),destDir);

解压tgz文件,找到特定文件 返回fiel集合,上传

private List<File> unTar(InputStream inputStream, String destDir) throws Exception {TarArchiveInputStream tarIn = new TarArchiveInputStream(inputStream, BUFFER_SIZE);TarArchiveEntry entry = null;List<File> list = new ArrayList<>();try {while ((entry = tarIn.getNextTarEntry()) != null) {//是目录if (entry.isDirectory()) {//创建空目录createDirectory(destDir, entry.getName());//是文件} else {//在tgz压缩包里包含package/dist文件下的文件if(entry.getName().contains("package/dist")){File tmpFile = new File(File.separator + entry.getName());//创建输出目录createDirectory(tmpFile.getParent() + File.separator, null);OutputStream out = null;try {out = new FileOutputStream(tmpFile);int length = 0;byte[] b = new byte[2048];while ((length = tarIn.read(b)) != -1) {out.write(b, 0, length);}} finally {IOUtils.closeQuietly(out);}//添加文件(可能多个)list.add(tmpFile);}}}} catch (Exception e) {e.printStackTrace();throw e;} finally {IOUtils.closeQuietly(tarIn);}return list;}public static void createDirectory(String outputDir, String subDir) {File file = new File(outputDir);if (!(subDir == null || subDir.trim().equals(""))) {//子目录不为空file = new File(outputDir + File.separator + subDir);}if (!file.exists()) {file.mkdirs();}}

到这里就解压tgz文件,上传特定文件就结束了,上传代码就不贴了

java解压在线tgz文件相关推荐

  1. java解压/读取rar文件

    转自在此感谢作者:https://blog.csdn.net/lbf5210/article/details/51206642 <!-- 解压rar --> <dependency& ...

  2. java util zip.zipexc,JAVA解压zip压缩文件的实例

    今天在弄一个东西,需要在PL/SQL中解压zip的压缩包,刚开始的时候是想着直接在PLSQL中调用java,在java里面调用unzip的shell命令来解析压缩文件,但是比较悲剧,一直老是失败,在尝 ...

  3. Java解压rar5压缩文件

    使用代码解压压缩文件,并指定解压后路径 导入依赖 <dependency><groupId>com.github.axet</groupId><artifac ...

  4. java 解压zip文件

    public class UnZipUtils {public static synchronized boolean unzip(String zipFileName, String extPlac ...

  5. Java解压压缩加密文件zip

    前言 ❤Java学习路线个人总结-博客 ❤欢迎点赞

  6. java 解压tgz文件

    java 解压tgz文件 pom 引入依赖 <dependency><groupId>org.apache.commons</groupId><artifac ...

  7. Java解压zip文件(文本)压缩包

    2019独角兽企业重金招聘Python工程师标准>>> 说明:由于我们的日志收集到指定服务器上,会按天压缩成一个zip格式的压缩包,但是有时候需要对这些日志进行处理,人工解压在处理, ...

  8. java zip malformed_关于Java解压文件的一些坑及经验分享(MALFORMED异常)

    关于Java解压文件的一些坑及经验分享 就在本周, 测试人员找到我说现上的需求文档(zip格式的)无法预览了, 让我帮忙看看怎么回事. 这个功能也并不是我做的, 于是我便先看看线上日志有没有什么错误, ...

  9. java解压gz文件

    http://panshaobinsb.iteye.com/blog/1566231 下面是网上的代码 http://www.iteye.com/topic/894879 Java代码   impor ...

最新文章

  1. 杂项相关工具的使用方法(边刷题边更新...)
  2. 内蒙古高考2021年成绩查询,内蒙古招生考试信息网:2021年内蒙古高考查分入口、查分系统...
  3. vsco怎么两个滤镜叠加_PS插件 VSCO滤镜137款预设安装使用教程
  4. mysql tree 和 hash_mysql_B-tree索引和哈希索引
  5. Puppet之基础篇
  6. 交出20分钟后就得到面试通知的一份答卷
  7. ArcFace 论文阅读及 pytorch 实现
  8. 华为手机自带的双系统模式,你知道吗?一部手机当两部使用
  9. 关于“该计算机已安装更高版本的Google Chrome浏览器“问题解决方法
  10. 外包的水有多深?华为15k+的外包测试岗能去吗?
  11. 重装系统后Oracle数据库恢复的方法
  12. php商城系统源码的好处有哪些?
  13. vue报错Navigating to current location (/login) is not allowed
  14. matlab画图双坐标轴和多坐标轴代码
  15. 【NLP】DSSM深度结构化语义模型原理
  16. 《剑指offer 阅读笔记一》程序员面试流程,面试游刃有余
  17. 【TARS】TARS中的nodejs
  18. Openssl 对称加解密函数 - EVP_Cipher、EVP_Encrypt、EVP_Decryp 系列
  19. 将jar添加到本地仓库及上传Jar到远程marven仓库
  20. 自动插入匹配与标题相关的百度图片或者搜狗图片软件-批量插入txt文档-Chatgpt批量写文章配图神器

热门文章

  1. NAMD 中计算水分子沿某一放向的平均值 (tcl/tk 脚本输出数据, awk 求某一列平均值)
  2. (平衡)kd树的创建与搜索
  3. 域名使用HTTPS的相关配置
  4. Java如何获取IP属地 ip2region failed to create searcher with x:java.io.FileNotFoundException:( 系统找不到指定的路径)
  5. mybatis错误:Could not resolve resource location pattern [classpath:com/demon/user/mapper/*.xml]: class
  6. C++解析IconFont矢量字体文件ttf,以及无锯齿显示矢量字体
  7. wps中制作图表目录
  8. revit管线插件:当前楼层怎么显示楼板以下的给排水管道?
  9. server 2008 r2 怎么打开任务管理?
  10. 求教如何实现VB.NET控件随着窗体的放大而放大