apache-commons

apache-commons的io工具类

commons-io

一、FilesUtils

1、forceMkdir创建目录

 

 

commons-lang3

这是一个系统工具类的包:

一、SystemUtils主要用户获取java及运行环境的相关信息

二、StringUtils处理字符串的工具类

commons-codec

一、提供公共的编解码的工具包:

 

commons-httpcomponents

这组包下面主要定义处理http相关请求的类(异步与同步):

一、httpclient:

 <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>                
         </dependency>

  

package org.eclipse.winery.repository;

import java.nio.charset.Charset;

import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import com.google.gson.Gson;

public class App1 {

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        String apiurl = "http://127.0.0.1:8080/index.txt";
        String body = null;
        HttpClient httpClient = HttpClients.createDefault();//创建httpclient
        RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(5000).setConnectionRequestTimeout(1000)
                .setSocketTimeout(5000).build();//超时时间配置
        HttpPost method = new HttpPost(apiurl);
        method.setConfig(requestConfig);//设置超时时间
        method.addHeader("Content-type", "application/json; charset=utf-8");//设置请求头
        method.setHeader("Accept", "application/json");//设置请求头
        method.setEntity(new StringEntity(new Gson().toJson(new EntityObj()), Charset.forName("UTF-8")));//设置请求体
        HttpResponse response = httpClient.execute(method);//执行请求
        int statusCode = response.getStatusLine().getStatusCode();//获取返回码
        if (statusCode == HttpStatus.SC_OK) {
            body = EntityUtils.toString(response.getEntity(), Charset.forName("UTF-8"));//获取返回体
            System.out.println("statusCode: " + statusCode);
            System.out.println("body: " + body);
        }
    }

    private static class EntityObj {
        private String id = "EntityObjId";
        private String name = "EntityObjName";

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

}

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) {
                    
                }    
            }
        }    
    }
}

 

 
 
posted @ 2019-01-24 09:22  海平面下的我们  阅读(86)  评论(0编辑  收藏  举报