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. 小程序真机上报错 for developer: some selectors are not allowed in component wxss , including tag name selectors, id selectors, and attribute selectors

    for developer: some selectors are not allowed in component wxss , including tag name selectors, id s ...

  2. 51nod 1765 谷歌的恐龙

    一开始看到了期望吓半死..然后弱弱的写了一下式子.设∑是出去m项之后的和,∑' 是m项的和. E=(n/m)*(∑'/m)+(n/m)*((n-m)/n)*(∑'/m+∑/(n-m))+(n/m)*( ...

  3. tools.quartz.about

    官方网站,中文文档,demo,  参考零, 参考一, 参考二, 参考三, 参考四 , 参考五 ,文档下载 .

  4. Linux安装C++环境

    centos 安装gcc-c++ yum install gcc-c++ 安装CMake yum install cmake 切换gcc版本 安装devtoolset-x 安装devtoolset-3 ...

  5. delphi http请求用到的编码方式

    uses HttpEncode: HttpEncode(AnsiToUtf8('***'))

  6. java 如何爬取百度百科词条内容(java如何使用webmagic爬取百度词条)

    这是老师所布置的作业 说一下我这里的爬去并非能把百度词条上的内容一字不漏的取下来(而是它分享链接的一个主要内容概括...)(他的主要内容我爬不到 也不想去研究大家有好办法可以call me) 例如 互 ...

  7. JuJu团队12月4号工作汇报

    JuJu团队12月4号工作汇报 JuJu   Scrum 团队成员 今日工作 剩余任务 困难 于达 调试 无 无 婷婷 和陈灿一起提升acc 无 无 恩升 纠正chunk evaluator 无 无 ...

  8. POJ 2823:Sliding Window 单调队列

    Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 48930   Accepted: 14130 ...

  9. asp.net增加指定404页面

    对于在asp中添加404页面我并不熟悉,所以刚开始只能在网上找各种资料,网上资源太多,各种借鉴.   1.借鉴网上尝试的第一种方法:   首先,修改应用程序根目录的设置,打开 “web.config” ...

  10. js generator的两个实际应用

    generator作为一个用来操作异步的状态机, 遇到yield停止, 通过调用next()来继续操作.  今天就用generator来举例两个实际开发中的应用. 1,抽奖 function draw ...