zoukankan      html  css  js  c++  java
  • Java将文本文件压缩为tar.gz

        /**
         * @功能描述 压缩tar.gz 文件
         * @param sources 源文件集合
         * @param outPath 目标文件名称 无后缀的 例子 G:ackuplogstash-2020.04.22
         * @return 返回压缩结果
         * @throws Exception
         */
        public static void packet(String[] sources, String outPath) throws Exception {
            // gz文件 名称  TAR GZ 就是 .tar.gz
            String gzPath = String.format("%s%s%s",outPath, TAR, GZ);
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            TarArchiveOutputStream tarArchiveOutputStream = null;
            GZIPOutputStream gzipOutputStream = null;
            try {
                tarArchiveOutputStream = new TarArchiveOutputStream(byteArrayOutputStream);
                // 将所有文件打包成 tar文件
                try {
                    for (String source : sources) {
                        File file = new File(source);
                        tarArchiveOutputStream.putArchiveEntry(new TarArchiveEntry(file, file.getName()));
                        IOUtils.copy(new FileInputStream(file), tarArchiveOutputStream);
                        tarArchiveOutputStream.closeArchiveEntry();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    if(tarArchiveOutputStream != null) {
                        tarArchiveOutputStream.flush();
                        tarArchiveOutputStream.close();
                    }
                }
                gzipOutputStream = new GZIPOutputStream(new FileOutputStream(gzPath));
                gzipOutputStream.write(byteArrayOutputStream.toByteArray());
            } finally {
                if(byteArrayOutputStream != null) {
                    byteArrayOutputStream.close();
                }
                if(gzipOutputStream != null) {
                    gzipOutputStream.flush();
                    gzipOutputStream.close();
                }
            }
        }
  • 相关阅读:
    Oracle忘记用户名和密码以及管理员用户新增修改删除用户
    Oracle11.2安装和完全卸载及卸载后重装等问题
    软件测试之路2
    软件测试之路1
    Git入门笔记
    CentOS 6.5下二进制安装 MySQL 5.6
    十款压力测试工具
    tomcat 内存设置
    tomcat 安全
    tomcat 模式详解
  • 原文地址:https://www.cnblogs.com/kongkongFabian/p/12762250.html
Copyright © 2011-2022 走看看