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