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