1、常用的json字符串工具类
以下为json工具类代码:
package com.ct10000.sc.commons.toolkit.jsonTool; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import javax.xml.bind.*; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import java.io.Writer; /** * 处理json的工具类 * * Created by ryh on 15-9-15. */ public class JsonUtility { /** * 记录日志信息 */ private static Logger logger = LogManager.getLogger(JsonUtility.class); /** * 用于处理json字符串的静态对象 */ private static ObjectMapper objectMapper = new ObjectMapper(); /** * 默认构造器 */ private JsonUtility() { } /** * 对Object的对象进行编码 * * @param object 编码对象 * @return 一个编码后的字符串 * @throws Exception */ public static String convertToXml(Object object) throws Exception { return convertToXml(object, "UTF-8"); } /** * 对object的对象转化成XML字符串 * * @param object 转化对象 * @param encoding 编码方式 * @return 一个对象格式的XML字符串 * @throws Exception */ public static String convertToXml(Object object, String encoding) throws JAXBException{ String result = ""; try { JAXBContext context = JAXBContext.newInstance(object.getClass()); Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding); StringWriter writer = new StringWriter(); marshaller.marshal(object, writer); result = writer.toString(); } catch (JAXBException e) { logger.error("对象转xml字符串的错误日志-->>"+e.getMessage(), e); } logger.debug("生成对象转XML字符串的调试日志-->>"+result); return result; } /** * xml字符串转换成JavaBean实体 * * @param xml XML字符串 * @param clazz 字节码类型 * @param <T> 转换的泛型 * @return 一个转化的实体对象 */ public static <T> T converyToJavaBean(String xml, Class<T> clazz) throws JAXBException{ T t = null; try { JAXBContext context = JAXBContext.newInstance(clazz); Unmarshaller unmarshaller = context.createUnmarshaller(); t = (T) unmarshaller.unmarshal(new StringReader(xml)); } catch (JAXBException e) { logger.error("xml转实体bean的错误日志-->>"+e.getMessage(), e); } return t; } /** * 对象转换为json字符串 * * @param object 转化的实体对象 * @return 装换后的json字符串 */ public static synchronized String objectToJson(Object object) throws IOException { Writer writer = null; String json = ""; try { writer = new StringWriter(); objectMapper.writeValue(writer, object); json = writer.toString(); } catch (IOException e) { logger.error("实体对象转JSON字符串的错误日志-->>"+e.getMessage(),e); } finally { try { if (writer != null) { writer.close(); } } catch (IOException e) { logger.error("实体对象转JSON字符串关闭writer的错误日志-->>"+e.getMessage(),e); } } logger.debug("生成实体转JSON字符串的调试日志-->>"+json); return json; } /** * json字符转换成对象 * * @param json json字符串 * @param clazz 实体对象的class * @param <T> 泛型实体 * @return 返回转换后的实体对象 */ public static synchronized <T> T jsonToObject(String json, Class<T> clazz) throws IOException { T object = null; try { object = objectMapper.readValue(json, clazz); } catch (IOException e) { logger.error("JSON字符串转实体bean的错误日志-->>"+e.getMessage(),e); } return object; } }
2、常用的字符串工具类
以下为字符串工具类代码:
package com.ct10000.sc.commons.toolkit.stringTool; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.util.UUID; /** * 常用工具类 * * 1、生成UUID字符串 * 2、随机生成3位数字符串 * Created by ryh on 15-4-2. */ public class StringUtility { /** * 记录日志信息 */ private static Logger logger = LogManager.getLogger(StringUtility.class); /** * 生成UUID字符串 * * @return 32位的UUID密钥 */ public static String getUUID() throws Exception{ String uuid = UUID.randomUUID().toString(); uuid = uuid.substring(0, 8) + uuid.substring(9, 13) + uuid.substring(14, 18) + uuid.substring(19, 23) + uuid.substring(24); logger.debug("获取32位的UUID的调试日志-->>" + uuid); return uuid; } /** * 随机生成3位数字符串 * * @return 一个三位数的随机码字符串 */ public static String getRandom() { int number; while (true) { number = (int) (Math.random() * 1000); if (number >= 100 && number < 1000) { break; } } String string=String.valueOf(number); logger.debug("获取3位的随机码字符串的调试日志-->>" + string); return string; } }3、时间日期工具类
以下为时间日期工具类代码:
package com.ct10000.sc.commons.toolkit.dataTool; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 时间格式转字符串处理工具类 * * Created by ryh on 15-9-15. */ public class DateUtility { /** * 记录日志信息 */ private static Logger logger = LogManager.getLogger(DateUtility.class); /** * 将当前时间格式化,格式化的格式yyyy-MM-dd HH:mm:ss * * @return 一个格式化的字符串time */ public static String getTime() throws Exception{ Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = formatter.format(date); logger.debug("当前时间格式化的调试日志-->>" + time); return time; } /** * 将当前时间格式化,格式化的格式yyyy-MM-dd * * @return 一个格式化的字符串time */ public static String getDate() throws Exception { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); String time = formatter.format(date); logger.debug("当前时间格式化的调试日志-->>" + time); return time; } /** * 将输入时间格式化,格式化的格式yyyy-MM-dd HH:mm:ss * * @return 一个格式化的字符串time */ public static String timeToString(Date date) throws Exception { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = formatter.format(date); logger.debug("输入时间格式化的调试日志-->>" + time); return time; } /** * 将输入时间格式化,格式化的格式yyyy-MM-dd * * @return 一个格式化的字符串time */ public static String dateToString(Date date) throws Exception { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); String time = formatter.format(date); logger.debug("输入时间格式化的调试日志-->>" + time); return time; } /** * 把标准时区转化成当前时区 * * @param date 时间 * @return 当前时区的时间 * @throws Exception */ public static Date dateOfDate(Date date) throws Exception{ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.HOUR, +8); Date date1=calendar.getTime(); return date1; } }4、MD5工具类
以下为MD5工具类代码:
package com.ct10000.sc.commons.toolkit.md5Tool; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * MD5工具类 * * Created by ryh on 15-9-16. */ public class MD5Utility { /** * 记录日志信息 */ private static Logger logger = LogManager.getLogger(MD5Utility.class); /** * MD5加码 生成32位md5码(不可逆的) * * @param inStr 加密的字符串 * @return 一个加密的32位密钥 */ public static String string2MD5(String inStr) throws NoSuchAlgorithmException{ MessageDigest md5; String string=""; try { md5 = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { logger.error("MD5加密实现的错误日志-->>"+e.getMessage(), e); return string; } char[] charArray = inStr.toCharArray(); byte[] byteArray = new byte[charArray.length]; for (int i = 0; i < charArray.length; i++) { byteArray[i] = (byte) charArray[i]; } byte[] md5Bytes = md5.digest(byteArray); StringBuffer hexValue = new StringBuffer(); for (int i = 0; i < md5Bytes.length; i++) { int val = ((int) md5Bytes[i]) & 0xff; if (val < 16) { hexValue.append("0"); } hexValue.append(Integer.toHexString(val)); } string=hexValue.toString(); logger.debug("MD5加密的32位密钥的调试日志-->>" + string); return string; } /** * 加密解密算法 执行一次加密,两次解密 * * @param inStr 编译的字符串 * @return 返回一个二次加密的字符串 */ public static String convertMD5(String inStr) throws Exception{ char[] a = inStr.toCharArray(); for (int i = 0; i < a.length; i++) { a[i] = (char) (a[i] ^ 't'); } String string = new String(a); logger.debug("MD5加密的二次加密的字符串的调试日志-->>" + string); return string; } }