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();
                }
            }
        }
  • 相关阅读:
    Loadrunder场景设计篇——IP欺骗
    Loadrunner场景设计篇——负载生成器
    Loadrunder场景设计篇——定时器(schedule)
    2-SAT 及 一点习题
    如何A掉未来程序改
    NOI2015 寿司晚宴
    好玩的东西——一个代码片段
    后缀自动机
    Codeforces Round #313 (Div. 2)
    Codeforces Round #312 (Div. 2)
  • 原文地址:https://www.cnblogs.com/kongkongFabian/p/12762250.html
Copyright © 2011-2022 走看看