解压tar包工具UntarUtil(4)

2023-11-08

/**
         *  This method wraps the input stream with the
         *     corresponding decompression method
         *
         *  @param file provides location information for BuildException
         *  @param istream input stream
         *  @return input stream with on-the-fly decompression
         *  @exception IOException thrown by GZIPInputStream constructor
         */
        private InputStream decompress(final File file,
                final InputStream istream) throws IOException
        {
            final String value = getValue();
            if (GZIP.equals(value))
            {
                return new GZIPInputStream(istream);
            }
            else
            {
                if (BZIP2.equals(value))
                {
                    final char[] magic = new char[] {'B', 'Z'};
                    for (int i = 0; i < magic.length; i++)
                    {
                        if (istream.read() != magic[i])
                        {
                            throw new BuildException("Invalid bz2 file."
                                    + file.toString());
                        }
                    }
                    return new CBZip2InputStream(istream);
                }
            }
            return istream;
        }
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解压tar包工具UntarUtil(4) 的相关文章

随机推荐

  • Java中Set的使用

    在Java中使用Set 可以方便地将需要的类型以集合类型保存在一个变量中 主要应用在显示列表 Set是一个不包含重复元素的 collection 更确切地讲 set 不包含满足 e1 equals e2 的元素对 e1 和 e2 并且最多包
  • 如何修改桌面的存放路径?(将桌面放到D盘或E盘)

    方法1 使用超级兔子 依次选择 魔法设置 系统 系统文件夹 桌面 就可以自定义桌面项的路径了 方法2 首先要在 开始 运行 内输入 regedit 打开注册表编辑器 然后要在 文件 下拉菜单中 的 导出 功能备份好注册表 以防万一 接着在左
  • 学习笔记——Java入门第二季

    1 1 介绍类与对象 类和对象的关系 时间万物皆对象 对象是具体的事物 是类的具体事例 类是抽象的概念 是对象的模板 new关键字是创建实例对象最重要的标志 Dog duoduo new Dog Dog lucky new Dog 这样就创
  • RabbitMQ--扩展--11--均衡负载

    RabbitMQ 扩展 11 均衡负载 1 场景 面对大量业务访问 高并发请求 可以使用高性能的服务器来提升RabbitMQ服务的负载能力 当单机容量达到极限时 可以采取集群的策略来对负载能力做进一步的提升 但这里还存在一个负载不均衡的问题
  • consul作为配置中心

    Conusl可以作为注册中心 也可以作为配置中心 作为配置中心 使用起来也很方便 大多数都是配置 Consul的安装这里不说了 主要是说明java后端怎么使用 所以本次采用windows版本的consul 引入和配置 2个文件 pom配置
  • ajax error弹框,完美解决:layui弹出层无法关闭/ajax请求成功,但是不进入success,也不进入error...

    我在使用一个叫做H ui admin的后台模板 基于layui 做一套管理系统 业务 点击按钮 出现弹出层 ajax通过接口向后台发送数据 成功后 关闭弹出层 前面都没有什么问题 就是到了关闭弹出层 真的快把我逼疯了 1 首先 我认为是la
  • IFrame和Ajax比较

    说到比较 可能我是需要把这连个东西都给大家介绍一下的 但是介于大家都已经有了很多的理解 我就简单的说了 Ajax 是指一种创建交互式网页应用的网页开发技术 主要是利用XmlHttpRequest对象 该对象在 Internet Explor
  • 网络基础知识

    网络基础概念 网络 两个设备之间 通过介质连接起来就形成网络 上网 就是连接到英特网 要想使pc机之间关联起来 要设置地址 1 IP地址 子网掩码 网关 2 MAC地址 物理地址 window键 R会跳出运行窗口 输入ncpa cpl可以调
  • UGUI ScrollRect使用(实现滑动效果)

    在工作中需要实现滑动效果 网上一番资料查询之后了解到ScrollRect组件 记录一下使用过程中遇到的问题与解决办法 先来看一下ScrollRect的属性 其中Content和Viewport非常重要 能否实现滑动效果取决于这两个属性 至于
  • GCC AVR(Atmel Studio+ AVR Studio)如何在程序存储器(flash)空间存放字符串常量和使用字符串常量

    目录 一 program memory和data memory 二 如何将字符串变量定义到program memory flash 三 如何读取字符串变量 四 PSTR 五 使用strcpy 函数将字符串常量拷贝字符串缓冲区会占用大量的da
  • 报错curl: (7) Failed to connect to 127.0.0.1 port xxxx: Connection refused

    pyenv install xxx 报错curl 7 Failed to connect to 127 0 0 1 port xxxx Connection refused的解决方法 问题重现截图 在查看下面的原因和使用解决方法之前 确保自
  • .NET EF Core 使用 DBFrist 连接sql server

    目录 1 创建项目并导导入包 2 使用命令行生成实体类和上下行类 3 修改上下文类 从配置文件 appsettings json 读取数据库连接字符串 4 编辑Program cs文件 5 测试连接是否成功 1 创建一个控制器 2 修改控制
  • SpringBoot AOP使用

    AOP即面向切面编程 其存在的目的就是为了解耦 通过AOP的实现 可以让业务逻辑只关心业务本身 而不用在意其他的事情 无需改动原有代码 实现无侵入增加部分能力 在系统日志处理 系统事务处理 系统安全验证 系统数据验证等多个场景中都有可能使用
  • matlab之导入txt文件并取其中一列数据

    1 我想导入下面这个文件的内容 并且获取这个文件中的两列数据 2 首先确保Matlab当前所在文件夹为txt文件所在文件夹 然后命令行执行 X load 2019 03 21 08 59 07 fitness txt 即将txt数据存入一个
  • 浏览器使用postMessage实现零延时定时器

    原文地址 https dbaron org log 20100309 faster timeouts 作者 David Baron 浏览器零延时定时器 function var timeouts var messageName zero t
  • mpvue踩坑总结编二

    这个mpvue大大安装大家肯定都没问题的 但安装预览的时候 不是用浏览器打开输入 localhost 8080 而是打开微信开发者工具 把项目根目录导入进去 坑一 不支持ElmentUI和Vue router 不支持ElmentUI和诸如类
  • AttGAN: Facial Attribute Editing by Only Changing What You Want

    AttGAN Facial Attribute Editing by Only Changing What You Want paper motivation 与starGANZ几乎同时间发表的另一篇人脸属性多领域迁移的论文 使用一个统一的
  • python安装报错2503_解决SVN安装报错代码2503,2502

    windows8以后的版本安装msi软件 比如nodejs msi Git msi python msi T ortoiseSVN msi 的时候老师出现2503 2502的错误 究其原因还是系统权限的问题 解决步骤 1 按住win x 在
  • spring中datasource配置

    datasource配置有很多种 我介绍的一种是采用c3p0的 它的百科地址是 http baike baidu com view 920062 htm
  • 解压tar包工具UntarUtil(4)

    This method wraps the input stream with the corresponding decompression method param file provides location information