JAVA函数库
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函数库的更多相关文章
- java 标签库(核心,xml,sql ,国际化,函数)
java标签库分分为上述几种,一般经常使用的是核心和函数,接下来会分别讲解这几种,和常见的用法. 一般标签库会和el表达式一起使用,所以在学习标签库前最后也学习下el表达式的使用. 导入后展开 可以从 ...
- 使用函数库(JAVA API)
/*使用函数库(JAVA API) * 在JAVA的API里类被封装在一个个的package,要使用package的类之前必须 * 要知道这个类属于哪个package * 引用类方式: * 1.通过i ...
- Web---JSTL(Java标准标签库)-Core核心标签库、I18N国际化、函数库
前面为JSTL中的常用EL函数,后面的为具体演示实例! JSTL简介: JSTL(Java Standard Tag Library) –Java标准标签库. SUN公司制定的一套标准标签库的规范. ...
- java类库 java API jar包 C语言函数库
翁凯说:java的强大是因为类库的强大 C/C++强大是因为函数库 在程序中用到系统提供的标准函数库中的输入输出函数时 应在程序的开头写上一行:#include"stdio.h"或 ...
- GitHub上那些值得一试的JAVA开源库--转
原文地址:http://www.jianshu.com/p/ad40e6dd3789 作为一名程序员,你几乎每天都会使用到GitHub上的那些著名Java第三方库,比如Apache Commons,S ...
- 重温JSP学习笔记--El函数库
EL函数库(由JSTL提供的) * 导入标签库:<%@ tablib prefix="fn" uri="http://java.sun.com/jsp/jstl/f ...
- 为开发者准备的 Android 函数库(2016 年版)
转载:http://www.androidchina.net/5922.html第三方函数库(译者注:包括第三方提供的 SDK,开源函数库)以惊人的方式助力着 Android 开发,借助这些其他开发人 ...
- 安卓开发经验分享:资源、UI、函数库、测试、构建一个都不能少(转)
除了高超的武艺,每位黑忍者还需要装备最好的武器.在软件开发的世界里,好的工具能让我们的生活变得更轻松,在更短的时间里写出更棒的代码. 时光回到2008年,那时安卓还很年轻.只有几个相关的博客和谷歌官方 ...
- GitHub上那些值得一试的JAVA开源库
作为一名程序员,你几乎每天都会使用到GitHub上的那些著名Java第三方库,比如Apache Commons,Spring,Hibernate等等.除了这些,你可能还会fork或Star一些其他的开 ...
随机推荐
- PHP-WebShell-Bypass-WAF
PHP-WebShell-Bypass-WAF PHP WebShell 一句话的结构是:输入和执行,这是经典的PHP 一句话代码: <?php eval($_GET['test']); ?&g ...
- java虚拟机05(Java虚拟机的参数)
原文在此 (1)-Xms20M 表示设置堆容量的最小值为20M,必须以M为单位 (2)-Xmx20M 表示设置堆容量的最大值为20M,必须以M为单位.将-Xmx和-Xms设置为一样可以避免堆自动扩展. ...
- Java提升二:Lambda表达式与方法引用
1.Lambda表达式 1.1.定义 lambda表达式是对于函数式接口(只含有一个抽象方法的接口)的简洁实现方式.它与匿名内部类的作用相似,但是就使用范围而言,匿名内部类更为广泛,而lambda表达 ...
- idea-plugin-easycode
1.背景 在练习使用mybatis-generator时候,无意间看到博文esaycode(代码神器),https://www.jianshu.com/p/e4192d7c6844,试验完,感觉这个工 ...
- ios端简单改变webView的黑白夜模式
extension HTController:WKUIDelegate, WKNavigationDelegate,WKScriptMessageHandler { func userContentC ...
- spring boot rest api exception解决方案
1.控制器级别@ExceptionHandler public class FooController{ //... @ExceptionHandler({ CustomE ...
- UVA - 10129 Play on Words(欧拉回路)
题意:将n个单词排成一个序列,保证相邻单词相邻处字母相同. 分析:每个单词看做一条有向边,字母为点,并查集看图是否连通,因为是有向图,所以最多只能有两个点入度不等于出度,且这两个点一个入度比出度大1, ...
- c++链表演示
#include<iostream> #include<string.h> #include<conio.h> using namespace std; #defi ...
- Web移动前端开发-——rem+less+媒体查询,rem+flexble.js+媒体查询
实际开发搞搞起来!!!! rem适配方案 媒体查询+rem+less 基础知识铺垫 第一步,我们需要拿到设计稿,安装设计稿的要求来设置一个合适的html字体大小. 第二步,计算元素大小的取值 页面re ...
- expect 自动输入密码
测试环境centos 6.5 7.4 1.远程登陆执行命令 scp #!/bin/bash expect -c ' set timeout 10000 spawn ssh root@192.168. ...