zoukankan      html  css  js  c++  java
  • commons-compress(apache压缩工具包)

    一、添加压缩文件:

    package aaaaa.my.test.cmdoption;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    import java.nio.file.Paths;
    import org.apache.commons.compress.archivers.ArchiveOutputStream;
    import org.apache.commons.compress.archivers.ArchiveStreamFactory;
    import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class Main {
        private static final Logger LOGGER = LoggerFactory.getLogger(Main.class);
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String input = "D:\eclipseWorkspace\cmdoption\src";
            String output = "D:\eclipseWorkspace\cmdoption\target";
            input = new File(input).getPath();//路径标准化
            output = new File(output).getPath();//路径标准化
            LOGGER.info(input);
            LOGGER.info(output);
            OutputStream outputStream = null;
            try {
                outputStream = new FileOutputStream(Paths.get(output, "erdan.csar").toFile());
                ArchiveOutputStream zos = new ArchiveStreamFactory().createArchiveOutputStream("zip", outputStream);
                zos.putArchiveEntry(new ZipArchiveEntry("TOSCA-Metadata/TOSCA.meta"));
                PrintWriter pw = new PrintWriter(zos);
                pw.println("TOSCA-Meta-Version: 1.0");
                pw.println("CSAR-Version: 1.0");
                String versionString = "Created-By: Winery " + "zte";
                pw.println(versionString);
                pw.println("Entry-Definitions: " + "Definitions/" + "serviceTemplateId" + "."
                    + "yaml");
                pw.println();
                pw.println(
                    "Name: " + "Definitions/" + "serviceTemplateId" + "." + "yaml");
                pw.println("Content-Type: " + "application/vnd.oasis.tosca.definitions");
                pw.println();
                pw.flush();
                pw.close();
                zos.closeArchiveEntry();
                zos.flush();
                zos.close();
            }catch(Exception e) {
                
            }finally {
                if(outputStream != null) {
                    try {
                        outputStream.close();
                    }catch(Exception e) {
                        
                    }    
                }
            }    
        }
    }

    后面研究完java.io会进行详细讲解

  • 相关阅读:
    各浏览器都支持的渐变
    ajax get 和 post
    jQuery给input绑定回车事件
    Thinkpad BIOS里的五个选项设置介绍(转)
    对象的比较与排序(一):类型比较和值比较(转)
    C# 压缩Access数据库(转)
    Firefox 删除插件
    Python进制转换(二进制、十进制和十六进制)
    程序在他人电脑上报缺失msvcr100d.dll 处理(转)
    DataGridView实现双缓冲(转)
  • 原文地址:https://www.cnblogs.com/erdanyang/p/10158688.html
Copyright © 2011-2022 走看看