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一些其他的开 ...
随机推荐
- Health Check【转】
强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性.自愈的默认实现方式是自动重启发生故障的容器.除此之外,用户还可以利用 Liveness 和 Readiness 探测机制设置更精 ...
- python 字符串实例:检查并判断密码字符串的安全强度
检查并判断密码字符串的安全强度 import string def check(pwd): #密码必须至少包含六个字符 if not isinstance(pwd,str) or len(pwd)&l ...
- Thymeleaf(一)---引入js/css文件
th:href="@{/static/css/style.css}" th:src="@{/static/js/thymeleaf.js}" index.htm ...
- Saul's Blog
2019Falg完成情况 - 脱贫脱单不脱发(已完成) - 买辆帕拉梅拉 (已完成) - 不再是个蒟蒻(已完成) - 来一场说走就走的旅行(已完成) - 停止口嗨(未完成) ᑋᵉᑊᑊᵒ ᵕ̈ ₂₀₂₀ ...
- 018、Java中除法的是用,解决除法计算精度问题
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 0108 spring的申明式事务
背景 互联网的金融和电商行业,最关注数据库事务. 业务核心 说明 金融行业-金融产品金额 不允许发生错误 电商行业-商品交易金额,商品库存 不允许发生错误 面临的难点: 高并发下保证: 数据一致性,高 ...
- Java 类的属性
章节 Java 基础 Java 简介 Java 环境搭建 Java 基本语法 Java 注释 Java 变量 Java 数据类型 Java 字符串 Java 类型转换 Java 运算符 Java 字符 ...
- Web基础之Spring IoC
Spring之IoC 概念 IoC:Inversion of Control,中文通常翻译为"控制反转",它还有一个别名叫做依赖注入(Dependency Injection) ...
- Windows 下 GNS3 安装与基本使用指南
1.GNS3简介 GNS3是一款图形化的网络虚拟软件,可以运行在多个平台(windows,linux,mac OS).我们可以通过它来学习Cisco的认证,或者是检验将要在生产环境中部署实施的相关配置 ...
- golang开启随机端口并获取端口
listener, err := net.Listen("tcp", ":0") if err != nil { panic(err) } fmt.Printl ...