工具类集和_gblfy版本

日常工具类集和gblfy版本
CookieCookieUtil.java
BigDecimalBigDecimalUtil.java
日期DateTimeUtil.java
FTPFTPUtil.java
JsonJsonUtil.java
MD5MD5Util.java
PropertiesPropertiesUtil.java

CookieUtil.java

package com.mmall.util;import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** Created by geely*/
@Slf4j
public class CookieUtil {private final static String COOKIE_DOMAIN = ".happymmall.com";private final static String COOKIE_NAME = "mmall_login_token";public static String readLoginToken(HttpServletRequest request){Cookie[] cks = request.getCookies();if(cks != null){for(Cookie ck : cks){log.info("read cookieName:{},cookieValue:{}",ck.getName(),ck.getValue());if(StringUtils.equals(ck.getName(),COOKIE_NAME)){log.info("return cookieName:{},cookieValue:{}",ck.getName(),ck.getValue());return ck.getValue();}}}return null;}//X:domain=".happymmall.com"//a:A.happymmall.com            cookie:domain=A.happymmall.com;path="/"//b:B.happymmall.com            cookie:domain=B.happymmall.com;path="/"//c:A.happymmall.com/test/cc    cookie:domain=A.happymmall.com;path="/test/cc"//d:A.happymmall.com/test/dd    cookie:domain=A.happymmall.com;path="/test/dd"//e:A.happymmall.com/test       cookie:domain=A.happymmall.com;path="/test"public static void writeLoginToken(HttpServletResponse response,String token){Cookie ck = new Cookie(COOKIE_NAME,token);ck.setDomain(COOKIE_DOMAIN);ck.setPath("/");//代表设置在根目录ck.setHttpOnly(true);//单位是秒。//如果这个maxage不设置的话,cookie就不会写入硬盘,而是写在内存。只在当前页面有效。ck.setMaxAge(60 * 60 * 24 * 365);//如果是-1,代表永久log.info("write cookieName:{},cookieValue:{}",ck.getName(),ck.getValue());response.addCookie(ck);}public static void delLoginToken(HttpServletRequest request,HttpServletResponse response){Cookie[] cks = request.getCookies();if(cks != null){for(Cookie ck : cks){if(StringUtils.equals(ck.getName(),COOKIE_NAME)){ck.setDomain(COOKIE_DOMAIN);ck.setPath("/");ck.setMaxAge(0);//设置成0,代表删除此cookie。log.info("del cookieName:{},cookieValue:{}",ck.getName(),ck.getValue());response.addCookie(ck);return;}}}}
}

BigDecimalUtil.java

package com.mmall.util;import java.math.BigDecimal;/*** Created by geely*/
public class BigDecimalUtil {private BigDecimalUtil(){}public static BigDecimal add(double v1,double v2){BigDecimal b1 = new BigDecimal(Double.toString(v1));BigDecimal b2 = new BigDecimal(Double.toString(v2));return b1.add(b2);}public static BigDecimal sub(double v1,double v2){BigDecimal b1 = new BigDecimal(Double.toString(v1));BigDecimal b2 = new BigDecimal(Double.toString(v2));return b1.subtract(b2);}public static BigDecimal mul(double v1,double v2){BigDecimal b1 = new BigDecimal(Double.toString(v1));BigDecimal b2 = new BigDecimal(Double.toString(v2));return b1.multiply(b2);}public static BigDecimal div(double v1,double v2){BigDecimal b1 = new BigDecimal(Double.toString(v1));BigDecimal b2 = new BigDecimal(Double.toString(v2));return b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);//四舍五入,保留2位小数//除不尽的情况}
}

DateTimeUtil.java

package com.mmall.util;import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;import java.util.Date;/*** Created by geely*/
public class DateTimeUtil {//joda-time//str->Date//Date->strpublic static final String STANDARD_FORMAT = "yyyy-MM-dd HH:mm:ss";public static Date strToDate(String dateTimeStr,String formatStr){DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(formatStr);DateTime dateTime = dateTimeFormatter.parseDateTime(dateTimeStr);return dateTime.toDate();}public static String dateToStr(Date date,String formatStr){if(date == null){return StringUtils.EMPTY;}DateTime dateTime = new DateTime(date);return dateTime.toString(formatStr);}public static Date strToDate(String dateTimeStr){DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(STANDARD_FORMAT);DateTime dateTime = dateTimeFormatter.parseDateTime(dateTimeStr);return dateTime.toDate();}public static String dateToStr(Date date){if(date == null){return StringUtils.EMPTY;}DateTime dateTime = new DateTime(date);return dateTime.toString(STANDARD_FORMAT);}public static void main(String[] args) {System.out.println(DateTimeUtil.dateToStr(new Date(),"yyyy-MM-dd HH:mm:ss"));System.out.println(DateTimeUtil.strToDate("2010-01-01 11:11:11","yyyy-MM-dd HH:mm:ss"));}
}

FTPUtil.java

package com.mmall.util;import lombok.extern.slf4j.Slf4j;
import org.apache.commons.net.ftp.FTPClient;import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;/*** Created by geely*/
@Slf4j
public class FTPUtil {private static String ftpIp = PropertiesUtil.getProperty("ftp.server.ip");private static String ftpUser = PropertiesUtil.getProperty("ftp.user");private static String ftpPass = PropertiesUtil.getProperty("ftp.pass");public FTPUtil(String ip,int port,String user,String pwd){this.ip = ip;this.port = port;this.user = user;this.pwd = pwd;}public static boolean uploadFile(List<File> fileList) throws IOException {FTPUtil ftpUtil = new FTPUtil(ftpIp,21,ftpUser,ftpPass);log.info("开始连接ftp服务器");boolean result = ftpUtil.uploadFile("img",fileList);log.info("开始连接ftp服务器,结束上传,上传结果:{}");return result;}private boolean uploadFile(String remotePath,List<File> fileList) throws IOException {boolean uploaded = true;FileInputStream fis = null;//连接FTP服务器if(connectServer(this.ip,this.port,this.user,this.pwd)){try {ftpClient.changeWorkingDirectory(remotePath);ftpClient.setBufferSize(1024);ftpClient.setControlEncoding("UTF-8");ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);ftpClient.enterLocalPassiveMode();for(File fileItem : fileList){fis = new FileInputStream(fileItem);ftpClient.storeFile(fileItem.getName(),fis);}} catch (IOException e) {log.error("上传文件异常",e);uploaded = false;e.printStackTrace();} finally {fis.close();ftpClient.disconnect();}}return uploaded;}private boolean connectServer(String ip,int port,String user,String pwd){boolean isSuccess = false;ftpClient = new FTPClient();try {ftpClient.connect(ip);isSuccess = ftpClient.login(user,pwd);} catch (IOException e) {log.error("连接FTP服务器异常",e);}return isSuccess;}private String ip;private int port;private String user;private String pwd;private FTPClient ftpClient;public String getIp() {return ip;}public void setIp(String ip) {this.ip = ip;}public int getPort() {return port;}public void setPort(int port) {this.port = port;}public String getUser() {return user;}public void setUser(String user) {this.user = user;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public FTPClient getFtpClient() {return ftpClient;}public void setFtpClient(FTPClient ftpClient) {this.ftpClient = ftpClient;}
}

JsonUtil.java

package com.mmall.util;import com.google.common.collect.Lists;
import com.mmall.pojo.Category;
import com.mmall.pojo.TestPojo;
import com.mmall.pojo.User;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
import org.codehaus.jackson.type.JavaType;
import org.codehaus.jackson.type.TypeReference;import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** Created by geely*/
@Slf4j
public class JsonUtil {private static ObjectMapper objectMapper = new ObjectMapper();static{//对象的所有字段全部列入objectMapper.setSerializationInclusion(Inclusion.ALWAYS);//取消默认转换timestamps形式objectMapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS,false);//忽略空Bean转json的错误objectMapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS,false);//所有的日期格式都统一为以下的样式,即yyyy-MM-dd HH:mm:ssobjectMapper.setDateFormat(new SimpleDateFormat(DateTimeUtil.STANDARD_FORMAT));//忽略 在json字符串中存在,但是在java对象中不存在对应属性的情况。防止错误objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES,false);}public static <T> String obj2String(T obj){if(obj == null){return null;}try {return obj instanceof String ? (String)obj :  objectMapper.writeValueAsString(obj);} catch (Exception e) {log.warn("Parse Object to String error",e);return null;}}public static <T> String obj2StringPretty(T obj){if(obj == null){return null;}try {return obj instanceof String ? (String)obj :  objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);} catch (Exception e) {log.warn("Parse Object to String error",e);return null;}}public static <T> T string2Obj(String str,Class<T> clazz){if(StringUtils.isEmpty(str) || clazz == null){return null;}try {return clazz.equals(String.class)? (T)str : objectMapper.readValue(str,clazz);} catch (Exception e) {log.warn("Parse String to Object error",e);return null;}}public static <T> T string2Obj(String str, TypeReference<T> typeReference){if(StringUtils.isEmpty(str) || typeReference == null){return null;}try {return (T)(typeReference.getType().equals(String.class)? str : objectMapper.readValue(str,typeReference));} catch (Exception e) {log.warn("Parse String to Object error",e);return null;}}public static <T> T string2Obj(String str,Class<?> collectionClass,Class<?>... elementClasses){JavaType javaType = objectMapper.getTypeFactory().constructParametricType(collectionClass,elementClasses);try {return objectMapper.readValue(str,javaType);} catch (Exception e) {log.warn("Parse String to Object error",e);return null;}}public static void main(String[] args) {TestPojo testPojo = new TestPojo();testPojo.setName("Geely");testPojo.setId(666);//{"name":"Geely","id":666}String json = "{\"name\":\"Geely\",\"color\":\"blue\",\"id\":666}";TestPojo testPojoObject = JsonUtil.string2Obj(json,TestPojo.class);
//        String testPojoJson = JsonUtil.obj2String(testPojo);
//        log.info("testPojoJson:{}",testPojoJson);log.info("end");//        User user = new User();
//        user.setId(2);
//        user.setEmail("geely@happymmall.com");
//        user.setCreateTime(new Date());
//        String userJsonPretty = JsonUtil.obj2StringPretty(user);
//        log.info("userJson:{}",userJsonPretty);//        User u2 = new User();
//        u2.setId(2);
//        u2.setEmail("geelyu2@happymmall.com");
//
//
//
//        String user1Json = JsonUtil.obj2String(u1);
//
//        String user1JsonPretty = JsonUtil.obj2StringPretty(u1);
//
//        log.info("user1Json:{}",user1Json);
//
//        log.info("user1JsonPretty:{}",user1JsonPretty);
//
//
//        User user = JsonUtil.string2Obj(user1Json,User.class);
//
//
//        List<User> userList = Lists.newArrayList();
//        userList.add(u1);
//        userList.add(u2);
//
//        String userListStr = JsonUtil.obj2StringPretty(userList);
//
//        log.info("==================");
//
//        log.info(userListStr);
//
//
//        List<User> userListObj1 = JsonUtil.string2Obj(userListStr, new TypeReference<List<User>>() {
//        });
//
//
//        List<User> userListObj2 = JsonUtil.string2Obj(userListStr,List.class,User.class);System.out.println("end");}
}

MD5Util.java

package com.mmall.util;import org.springframework.util.StringUtils;import java.security.MessageDigest;/*** Created by geely*/
public class MD5Util {private static String byteArrayToHexString(byte b[]) {StringBuffer resultSb = new StringBuffer();for (int i = 0; i < b.length; i++)resultSb.append(byteToHexString(b[i]));return resultSb.toString();}private static String byteToHexString(byte b) {int n = b;if (n < 0)n += 256;int d1 = n / 16;int d2 = n % 16;return hexDigits[d1] + hexDigits[d2];}/*** 返回大写MD5** @param origin* @param charsetname* @return*/private static String MD5Encode(String origin, String charsetname) {String resultString = null;try {resultString = new String(origin);MessageDigest md = MessageDigest.getInstance("MD5");if (charsetname == null || "".equals(charsetname))resultString = byteArrayToHexString(md.digest(resultString.getBytes()));elseresultString = byteArrayToHexString(md.digest(resultString.getBytes(charsetname)));} catch (Exception exception) {}return resultString.toUpperCase();}public static String MD5EncodeUtf8(String origin) {origin = origin + PropertiesUtil.getProperty("password.salt", "");return MD5Encode(origin, "utf-8");}private static final String hexDigits[] = {"0", "1", "2", "3", "4", "5","6", "7", "8", "9", "a", "b", "c", "d", "e", "f"};}

PropertiesUtil.java

package com.mmall.util;import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Properties;/*** Created by geely*/
@Slf4j
public class PropertiesUtil {private static Properties props;static {String fileName = "mmall.properties";props = new Properties();try {props.load(new InputStreamReader(PropertiesUtil.class.getClassLoader().getResourceAsStream(fileName),"UTF-8"));} catch (IOException e) {log.error("配置文件读取异常",e);}}public static String getProperty(String key){String value = props.getProperty(key.trim());if(StringUtils.isBlank(value)){return null;}return value.trim();}public static String getProperty(String key,String defaultValue){String value = props.getProperty(key.trim());if(StringUtils.isBlank(value)){value = defaultValue;}return value.trim();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工具类集合

工具类集和UtilsCookieCookieUtils.javaEasyUIEasyUIResult.javaExceptionExceptionUtil.javaFastDFSFastDFSClient.javaFtpFtpUtil.javaHttpClientHttpClientUtil.javaIDIDUtils.javaJsonJsonUtils.javaPicturePictureResult.java通用响应工具类TaotaoResult.java CookieUtils…

要闻君说:印度公司要在京沪建立数据中心;超 10 万个 GitHub 仓库可泄漏 API 令牌及密钥...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 再次中国行&#xff0c;库克参观故宫&#xff08;图片来源网络&#xff09;【3月25日 星期一】云の声音未来5G对于庞大的IPv6业务&#xff0c;对于整个物联网、产业互联网可以提供更…

IOS OpenGL ES GPUImage 图像加深混合 GPUImageDarkenBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

Redis 工具类_慕课版本

缓存RedisRedis 连接池RedisPoolUtil.javaRedis 集群 连接RedisShardedPoolUtil.java通用部分RedisPool.java通用部分RedisShardedPool.java通用部分RedissonManager.java 在这里插入代码片RedisPoolUtil.java package com.mmall.util;import com.mmall.common.RedisPool; imp…

云有约 | 在去O的道路上,AWS表示:经验可复制,惊喜并非只属于我们!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者&#xff1a;刘晶晶一直以来&#xff0c;在云计算领域&#xff0c;AWS虽然遥遥领先&#xff0c;但是后有追兵无数&#xff0c;前方却从未有人带带路&#xff0c;想要“偷懒”借鉴学习一下&#xff0c;绝对不能够。一直以来&…

IOS OpenGL ES GPUImage 图像减淡混合 GPUImageLightenBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

IOS OpenGL ES GPUImage 图像源混合 GPUImageSourceOverBlendFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

微服务与单体架构:IT变革中企业及个体如何自处?

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者&#xff1a;DAN KUSNETZKY转自&#xff1a;RancherLabs当下&#xff0c;企业越来越多地受到竞争对手和他们自己的客户的压力&#xff0c;既需要让应用程序更快地在线运行&#xff0c;同时又要最大限度地降低开发成本。这些不同…

玩转微服务日志框架Logback

一、Logback的配置形式2种&#xff1a; 方案一&#xff1a; application.yml 配置相对简单(需求简单可以使用) 1、可以配置控制台输出的日志格式 例如&#xff1a; 2、可以指定输出到某个路径下面&#xff0c;文件名默认是spring.log 3、如果想可以自定义log日志的文件名…

边缘计算精华问答 | 边缘计算有哪些应用场景?

物联网对物联网技术的快速发展和云服务的推动使得云计算模型已经不能很好的解决现在的问题&#xff0c;于是&#xff0c;这里给出一种新型的计算模型&#xff0c;边缘计算。1Q&#xff1a;什么是边缘计算&#xff1f;A&#xff1a;一般来讲&#xff0c;边缘计算侧重在更为靠近用…

IOS OpenGL ES GPUImage 图像平移 GPUImageTransformFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

Windows搭建SonarQube_Mysql

一、环境参数&#xff1a; softwareversionJDKjdk-8u144-windows-x64.tarSonarQubesonarqube-7.6sonar-runnersonar-runner-dist-2.4汉化插件sonar-l10n-zh-plugin-1.26.jarmysqlmysql-5.7.26-winx64sonar有三部分组成&#xff1a; 1、服务端&#xff1a;显示分析结果和sonar相…

IOS OpenGL ES GPUImage 图像缩放 GPUImageTransformFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

window下远程监控linux下tomcat的jvm

简要介绍&#xff1a; 理论上来讲,任何一个运行的java程序都可以监控当前正在运行的java虚拟机的内存,堆空间,栈空间等信息.tomcat本质也是运行在linux上的java程序,通过一定的配置也可以实现监控tomcat对应程序的jvm的空间。 配置方法: 1.停止linux上的tomcat2.编辑bin路径下…

云有约 | 精华汇总

出品 | CSDN云计算 云有约&#xff0c;面对面采访&#xff0c;用最细腻的方式&#xff0c;撰写出最专业的深度文章。 云有约 | 在去O的道路上&#xff0c;AWS表示&#xff1a;经验可复制&#xff0c;惊喜并非只属于我们&#xff01; 一直以来&#xff0c;挑战数据库霸主Oracl…

Tomcat闪退的解决办法

第一步&#xff1a;在startup.bat文件最后添加pause&#xff0c;启动查看问题原因&#xff1a; 第二步&#xff1a;在startup.bat文件开头添加&#xff0c;如图所示&#xff1a; set TITLE"tomcat-8091" set CATALINA_BASE"F:\NOT MODIFIED\tomcat-8091"…

IOS OpenGL ES GPUImage 图像镜像 GPUImageTransformFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

云重磅 | 没有硬件,苹果发布多款“云服务”;阿里云发布基于公共云的虚拟GPU服务;中国移动首发5G套餐...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周二第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

Errors while executing git --version. exitCode=128 errors: fatal: open /dev/null or dup failed: No s

Errors while executing git --version. exitCode128 errors: fatal: open /dev/null or dup failed: No such file or directory 1、找到开发文档null.sys文件&#xff0c;复制到下面路径&#xff0c;覆盖此文件即可&#xff0c;解决 链接&#xff1a;https://pan.baidu.com…

IOS OpenGL ES GPUImage 图像旋转 GPUImageTransformFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…