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一些其他的开 ...
随机推荐
- 51nod 1378:夹克老爷的愤怒 很好玩的一道树状dp
1378 夹克老爷的愤怒 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 取消关注 夹克老爷逢三抽一之后,由于采用了新师爷的策略,乡民们叫苦不堪,开始组织 ...
- .net core文件系统简介
在asp.net core程序中,我们可以通过如下代码开启对Web 根目录内的文件静态访问功能: app.UseStaticFiles(); 如果要提供更高级的选项,例如:将其它的物理文件夹下的文件作 ...
- 多个Spring Boot项目部署在一个Tomcat容器无法启动
转自https://www.cnblogs.com/tomxin7/p/9434085.html 业务介绍 最近用Spring Boot开发了一个翻译的小项目,但是服务器上还跑着其他项目,包括一个同样 ...
- (三)微信小程序配置
小程序官方文档 全局配置
- 干干净净的grep
用grep -rn "xxxx" ./ 搜索. 有时候出现大量的 错误信息 主要有 1.Is a directory 2.no such file or directory 前 ...
- xargs详细
转自 http://czmmiao.iteye.com/blog/1949225 简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命 ...
- 165-PHP 文本替换函数str_replace(六)
<?php $str='programming'; //定义一个字符串 $replacement='er'; //定义替换的字符串 $res=substr_replace($str,$repla ...
- 控制台连接oracle11g报ORA-12560异常
oracle11g R2 64bit oracleClient 11.2 32bit PL/SQL Developer 11.0.2 32bit 今天发现了一个奇怪的现象,如图: 后来发现机器上既有s ...
- Kylin笔记
简介 Apache Kylin(Extreme OLAP Engine for Big Data)是一个开源的分布式 分析引擎,为Hadoop等大型分布式数据平台之上的超大规模数据集通过标准 SQL查 ...
- Node.js NPM Package.json
章节 Node.js NPM 介绍 Node.js NPM 作用 Node.js NPM 包(Package) Node.js NPM 管理包 Node.js NPM Package.json Nod ...