1. 文件相关

1.1 判断目录是否存在

public static boolean dictionaryExist(String path) {
File file = new File(path);
if (file.exists() && file.isDirectory()) {
return true;
} else {
return false;
}
}

1.2 创建多级目录

public static void dictionaryCreate(String path) {
File file = new File(path);
if (file.exists() && file.isDirectory()) { } else {
file.mkdirs();
}
}

1.3 判断文件是否存在

    public static boolean fileExist(String fileName) {
File file = new File(fileName);
if (file.exists() && file.isFile()) {
return true;
} else {
return false;
}
}

1.4 删除文件

    public static void deleteFile(String fileName) {
File file = new File(fileName);
if (file.exists() && file.isFile()) {
file.delete();
}
}

2. Http相关

2.1 执行POST

    public static String doPost(String uri, String json) throws Exception {
return doPost(uri, json, null);
} public static String doPost(String uri, Map<String, Object> params) throws Exception {
return doPost(uri, params, null);
} public static String doPost(String uri, String json, Map<String, String> headers) throws Exception {
logger.debug("Execute Http Post ----------------------->>>>>>");
logger.debug("uri:" + uri);
logger.debug("json:" + json);
logger.debug("headers:" + headers);
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(uri);
if (headers != null) {
Set<String> headerKeys = headers.keySet();
for (String headerName : headerKeys) {
httpPost.setHeader(headerName, (String) headers.get(headerName));
}
}
if (json != null) {
httpPost.setEntity(new StringEntity(json, CODE_TYPE));
}
CloseableHttpResponse response = httpClient.execute(httpPost);
if (response.getStatusLine().getStatusCode() != 200) {
throw new Exception("Error To Do Post:[" + response.getStatusLine().getStatusCode() + "] " + response.getStatusLine().getReasonPhrase());
}
HttpEntity entity = response.getEntity();
String responseBody = EntityUtils.toString(entity, CODE_TYPE);
httpClient.close();
logger.debug("responseBody:" + responseBody);
logger.debug("Complete Http Post ----------------------->>>>>>");
return responseBody;
} public static String doPost(String uri, Map<String, Object> params, Map<String, String> headers) throws Exception {
logger.debug("Execute Http Post ----------------------->>>>>>");
logger.debug("uri:" + uri);
logger.debug("params:" + params);
logger.debug("headers:" + headers);
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(uri);
if (headers != null) {
Set<String> headerKeys = headers.keySet();
for (String headerName : headerKeys) {
httpPost.setHeader(headerName, (String) headers.get(headerName));
}
}
if (params != null) {
List<NameValuePair> paramsPost = new ArrayList<NameValuePair>();
Set<String> paramKeys = params.keySet();
for (String paramName : paramKeys) {
paramsPost.add(new BasicNameValuePair(paramName, params.get(paramName).toString()));
}
httpPost.setEntity(new UrlEncodedFormEntity(paramsPost, CODE_TYPE));
}
CloseableHttpResponse response = httpClient.execute(httpPost);
if (response.getStatusLine().getStatusCode() != 200) {
throw new Exception("Error To Do Post:[" + response.getStatusLine().getStatusCode() + "] " + response.getStatusLine().getReasonPhrase());
}
HttpEntity entity = response.getEntity();
String responseBody = EntityUtils.toString(entity, CODE_TYPE);
httpClient.close();
logger.debug("responseBody:" + responseBody);
logger.debug("Complete Http Post ----------------------->>>>>>");
return responseBody;
}

2.2 执行GET

    public static String doGet(String uri, Map<String, Object> params, Map<String, String> headers) throws Exception {
logger.debug("Execute Http Get ----------------------->>>>>>");
logger.debug("uri:" + uri);
logger.debug("params:" + params);
logger.debug("headers:" + headers);
if (params != null) {
uri = uri + "?";
Set<String> paramKeys = params.keySet();
for (String paramName : paramKeys) {
uri = uri + paramName + "=" + params.get(paramName) + "&";
}
uri = uri + "guid=" + UUID.randomUUID().toString();
}
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(uri);
if (headers != null) {
Set<String> headerKeys = headers.keySet();
for (String headerName : headerKeys) {
httpGet.setHeader(headerName, (String) headers.get(headerName));
}
}
CloseableHttpResponse response = httpClient.execute(httpGet);
if (response.getStatusLine().getStatusCode() != 200) {
throw new Exception("Error To Do Post:[" + response.getStatusLine().getStatusCode() + "] " + response.getStatusLine().getReasonPhrase());
}
HttpEntity entity = response.getEntity();
String responseBody = EntityUtils.toString(entity, CODE_TYPE);
httpClient.close();
logger.debug("responseBody:" + responseBody);
logger.debug("Complete Http Post ----------------------->>>>>>");
return responseBody;
}

3. String相关

3.1 判断字符串为空

    public static final boolean isEmpty(String value) {
return value == null || value.equals("");
} public static final boolean isEmpty(Object value) {
return value == null || value.toString().equals("");
}

3.2 生成UUID

    public static final String getGUID() {
return UUID.randomUUID().toString().replace("-", "");
}

3.3 首字母大写

    public static final String firstCharUpper(String value) {
return value.substring(0, 1).toUpperCase()+value.substring(1, value.length());
}

3.4 给bean设定id

    public static final <T> T setNewID(Class<T> clazz, T object, String idField) throws Exception {
idField = firstCharUpper(idField);
Method getMethod = clazz.getMethod("get"+idField);
Method setMethod = clazz.getMethod("set"+idField, String.class);
if (getMethod == null || setMethod == null) {
return object;
} else {
String id = (String) getMethod.invoke(object);
if (isEmpty(id)) {
setMethod.invoke(object, getGUID());
}
return object;
}
}

4. 加解密相关

4.1 MD5加密

public final static String MD5(String content) throws UnsupportedEncodingException, NoSuchAlgorithmException {
//用于加密的字符
char md5String[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
//使用平台的默认字符集将此 String 编码为 byte序列,并将结果存储到一个新的 byte数组中
byte[] btInput = content.getBytes("UTF-8");
//信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。
MessageDigest mdInst = MessageDigest.getInstance("MD5");
//MessageDigest对象通过使用 update方法处理数据, 使用指定的byte数组更新摘要
mdInst.update(btInput);
// 摘要更新之后,通过调用digest()执行哈希计算,获得密文
byte[] md = mdInst.digest();
// 把密文转换成十六进制的字符串形式
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) { // i = 0
byte byte0 = md[i]; //
str[k++] = md5String[byte0 >>> 4 & 0xf]; //
str[k++] = md5String[byte0 & 0xf]; // F
}
//返回经过加密后的字符串
return new String(str);
}

JAVA函数库的更多相关文章

  1. java 标签库(核心,xml,sql ,国际化,函数)

    java标签库分分为上述几种,一般经常使用的是核心和函数,接下来会分别讲解这几种,和常见的用法. 一般标签库会和el表达式一起使用,所以在学习标签库前最后也学习下el表达式的使用. 导入后展开 可以从 ...

  2. 使用函数库(JAVA API)

    /*使用函数库(JAVA API) * 在JAVA的API里类被封装在一个个的package,要使用package的类之前必须 * 要知道这个类属于哪个package * 引用类方式: * 1.通过i ...

  3. Web---JSTL(Java标准标签库)-Core核心标签库、I18N国际化、函数库

    前面为JSTL中的常用EL函数,后面的为具体演示实例! JSTL简介: JSTL(Java Standard Tag Library) –Java标准标签库. SUN公司制定的一套标准标签库的规范. ...

  4. java类库 java API jar包 C语言函数库

    翁凯说:java的强大是因为类库的强大 C/C++强大是因为函数库 在程序中用到系统提供的标准函数库中的输入输出函数时 应在程序的开头写上一行:#include"stdio.h"或 ...

  5. GitHub上那些值得一试的JAVA开源库--转

    原文地址:http://www.jianshu.com/p/ad40e6dd3789 作为一名程序员,你几乎每天都会使用到GitHub上的那些著名Java第三方库,比如Apache Commons,S ...

  6. 重温JSP学习笔记--El函数库

    EL函数库(由JSTL提供的) * 导入标签库:<%@ tablib prefix="fn" uri="http://java.sun.com/jsp/jstl/f ...

  7. 为开发者准备的 Android 函数库(2016 年版)

    转载:http://www.androidchina.net/5922.html第三方函数库(译者注:包括第三方提供的 SDK,开源函数库)以惊人的方式助力着 Android 开发,借助这些其他开发人 ...

  8. 安卓开发经验分享:资源、UI、函数库、测试、构建一个都不能少(转)

    除了高超的武艺,每位黑忍者还需要装备最好的武器.在软件开发的世界里,好的工具能让我们的生活变得更轻松,在更短的时间里写出更棒的代码. 时光回到2008年,那时安卓还很年轻.只有几个相关的博客和谷歌官方 ...

  9. GitHub上那些值得一试的JAVA开源库

    作为一名程序员,你几乎每天都会使用到GitHub上的那些著名Java第三方库,比如Apache Commons,Spring,Hibernate等等.除了这些,你可能还会fork或Star一些其他的开 ...

随机推荐

  1. 在 Scale Up 中使用 Health Check【转】

    对于多副本应用,当执行 Scale Up 操作时,新副本会作为 backend 被添加到 Service 的负载均衡中,与已有副本一起处理客户的请求.考虑到应用启动通常都需要一个准备阶段,比如加载缓存 ...

  2. Day6-T3

    原题目 某个帝国修了一条非常非常长的城墙来抵御外敌,城墙共分N段,每一段用一个整数来描述坚固程度. 过了几年,城墙年久失修,有很多段都己经损坏,于是皇帝决定派你去修理城墙,但是经费有限. 所以你准备先 ...

  3. 洛谷 P3801 红色的幻想乡

    题目背景 蕾米莉亚的红雾异变失败后,很不甘心. 题目描述 经过上次失败后,蕾米莉亚决定再次发动红雾异变,但为了防止被灵梦退治,她决定将红雾以奇怪的阵势释放. 我们将幻想乡看做是一个n*m的方格地区,一 ...

  4. IDEA中利用MAVEN制作和打包普通可执行应用(非SprintBoot的WEB应用)

    我使用IDEA也就半年,开发中常常会遇到一些问题,例如用IDEA编写普通的可执行程序: 之前使用Eclipse编写一个可执行的JAVA程序,然后导出打包,非常方便: 但是我呢,想在 IDEA 中用Ma ...

  5. 爬虫(十六):Scrapy框架(三) Spider Middleware、Item Pipeline

    1. Spider Middleware Spider Middleware是介入到Scrapy的Spider处理机制的钩子框架. 当Downloader生成Response之后,Response会被 ...

  6. sql语句中 and 与or 的优先级

  7. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-off

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  8. 微信浏览器 UA

    mozilla/5.0 (linux; android 5.1.1; mi note pro build/lmy47v) applewebkit/537.36 (khtml, like gecko) ...

  9. Ubuntu19.04的安装过程详解以及操作系统初始化配置

    Ubuntu19.04的安装过程详解以及操作系统初始化配置                                                                       ...

  10. Docker部署Python应用程序

    Docker部署Python应用程序 1. 单个py文件部署 生成Dockerfile 文件 插件用的豆瓣的镜像,,重置时间(容器的默认时间是UTC时间与宿主机的相差8小时). 文中需要三个插件(pe ...