java工具类
来源:互联网 发布:淘宝大熊哥佛牌怎么样 编辑:程序博客网 时间:2024/05/20 07:33
1:Const.java
import java.io.File;import java.net.URLEncoder;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import java.sql.Timestamp;import java.text.DateFormat;import java.text.DecimalFormat;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Collections;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Random;import java.util.regex.Matcher;import java.util.regex.Pattern;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.commons.configuration.PropertiesConfiguration;import org.apache.commons.lang3.StringUtils;import com.szmsd.log.db.DBConn;@SuppressWarnings("all")public class Const { public static String key = ""; public static String driverClassName = ""; public static String url = ""; public static String username = ""; public static String password = ""; public static String tempuser = ""; public static String systemid = ""; public static String initSize = ""; public static String maxSize=""; public static String minSize=""; public static String acquireIncrement=""; public static String idleConnectionTestPeriod=""; public static String charset=""; public static String logFilePath=""; public Const() { PropertiesConfiguration pc = PropertiesUtils.getInstance(); key = pc.getString("key"); driverClassName = pc.getString("driverClassName"); url = pc.getString("url"); username = pc.getString("username"); password = pc.getString("password"); systemid = pc.getString("systemid"); tempuser = pc.getString("tempuser"); initSize=pc.getString("initSize"); maxSize=pc.getString("maxSize"); minSize=pc.getString("minSize"); acquireIncrement=pc.getString("acquireIncrement"); idleConnectionTestPeriod=pc.getString("idleConnectionTestPeriod"); charset=pc.getString("charset"); logFilePath=pc.getString("logFilePath"); } /** * * @param path * 文件夹路径 */ public static void isExist(String path) { File file = new File(path); // 判断文件夹是否存在,如果不存在则创建文件夹 if (!file.exists()) { file.mkdir(); } } /** * 两个参数 是否为空,有一个为空都返回true * * @return */ public static boolean isEmpty(String... str) { for (String s : str) { if (StringUtils.isEmpty(s)) { return true; } } return false; } /** * 功能:生成签名结果 * * @param sArray * 要签名的数组 * @param key * 安全校验码 * @return 签名结果字符串 */ public static String BuildMysign(Map sArray, String key) { String prestr = CreateLinkString(sArray); // 把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 prestr = prestr + key; // 把拼接后的字符串再与安全校验码直接连接起来 String mysign = Md5Encrypt.md5(prestr); return mysign; } /** * 功能:除去数组中的空值和签名参数 * * @param sArray * 签名参数组 * @return 去掉空值与签名参数后的新签名参数组 */ public static Map ParaFilter(Map sArray) { List keys = new ArrayList(sArray.keySet()); Map sArrayNew = new HashMap(); for (int i = 0; i < keys.size(); i++) { String key = (String) keys.get(i); String value = (String) sArray.get(key); if (value == null || value.equals("") || key.equalsIgnoreCase("sign") || key.equalsIgnoreCase("sign_type")) { continue; } sArrayNew.put(key, value); } return sArrayNew; } /** * 功能:把数组所有元素排序,并按照“参数=参数值”的模式用“&”字符拼接成字符串 * * @param params * 需要排序并参与字符拼接的参数组 * @return 拼接后字符串 */ public static String CreateLinkString(Map params) { List keys = new ArrayList(params.keySet()); Collections.sort(keys); String prestr = ""; for (int i = 0; i < keys.size(); i++) { String key = (String) keys.get(i); String value = (String) params.get(key); if (i == keys.size() - 1) {// 拼接时,不包括最后一个&字符 prestr = prestr + key + "=" + value; } else { prestr = prestr + key + "=" + value + "&"; } } return prestr; } public static String getDateStr(Date date) { date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = formatter.format(date); return time; } public static String getStringToDate(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(date); } public static String getStrAllToDate(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return sdf.format(date); } public static String getStrAllToMonth(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("MMddHHmmss"); return sdf.format(date); } public static String getStrHmsToDate(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); return sdf.format(date); } public static String getStrHHToDate(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("HH"); return sdf.format(date); } public static String getStrMMToDate(Date date) { SimpleDateFormat sdf = new SimpleDateFormat("mm"); return sdf.format(date); } /** * 获取请求主路径 * * @param request * @return */ public static String getRequestBasePath(HttpServletRequest request) { String path = request.getContextPath(); int post = request.getServerPort(); String basePath = ""; if (post == 80) { basePath = request.getScheme() + "://" + request.getServerName() + path; } else { basePath = request.getScheme() + "://" + request.getServerName() + ":" + post + path; } return basePath; } /** 获取网站域名地址 */ public static String getHOST(HttpServletRequest request) { String host = ""; host = request.getScheme() + "://" + request.getServerName(); if (host.indexOf("192.168") != -1 || host.indexOf("localhost") != -1) { host = "http://www.gotofun.cn"; } return host; } /** 获取请求IP */ public static String getRequestIP(HttpServletRequest request) { String ip = ""; try { ip = request.getHeader("X-Real-IP"); } catch (Exception ex) { ip = ""; } if (ip == null) { ip = ""; } if ("".equals(ip)) { ip = request.getRemoteAddr(); } if (ip == null) { ip = ""; } return ip; } /** 获取Cookie值 */ public static String getCookie(String cookieName, HttpServletRequest request) { String val = ""; Cookie[] cookies = request.getCookies(); if (cookies == null) { return ""; } Cookie cookie; for (int i = 0, total = cookies.length; i < total; i++) { cookie = cookies[i]; if (cookieName.equals(cookie.getName())) { val = cookie.getValue(); break; } } return val; } /*-- 字符串,数字处理 - BEGIN --*/ /** 处理空字符串 */ public static String getStr(String str) { if (str != null) { return str; } else { return ""; } } /** 替换字符串 */ public static String getReplaceStr(String str, String oldChar, String newChar) { try { if (str != null) { return str.replace(oldChar, newChar); } else { return ""; } } catch (Exception ex) { return ""; } } /** iso-8859-1转码成GBK */ public static String getGBK(String str) { try { if (str != null) { return new String(str.getBytes("iso-8859-1"), "gbk").trim(); } else { return ""; } } catch (Exception ex) { return ""; } } /** gbk转码成iso-8859-1 */ public static String setGBK(String str) { try { if (str != null) { return new String(str.getBytes("gbk"), "iso-8859-1").trim(); } else { return ""; } } catch (Exception ex) { return ""; } } /** iso-8859-1转码成UTF-8 */ public static String getUTF8(String str) { try { if (str != null) { return new String(str.getBytes("ISO-8859-1"), "UTF-8").trim(); } else { return ""; } } catch (Exception ex) { return ""; } } /** UTF-8转码成iso-8859-1 */ public static String setUTF8(String str) { try { if (str != null) { return new String(str.getBytes("utf-8"), "iso-8859-1").trim(); } else { return ""; } } catch (Exception ex) { return ""; } } /** 字符串转换int类型 */ public static int getStrInt(String str, int defaultValue) { if ("".equals(str)) { return defaultValue; } int num = 0; try { num = Integer.parseInt(str); } catch (Exception ex) { num = defaultValue; } return num; } /** 字符串转换float类型 */ public static float getStrFloat(String str, float defaultValue) { if ("".equals(str)) { return defaultValue; } float num = 0f; try { num = Float.parseFloat(str); } catch (Exception ex) { num = defaultValue; } return num; } /** 字符串转换double类型 */ public static double getStrDouble(String str, double defaultValue) { if ("".equals(str)) { return defaultValue; } double num = 0; try { num = Double.parseDouble(str); } catch (Exception ex) { num = defaultValue; } return num; } /*-- 字符串,数字处理 - END --*/ /** * request对象获取String值 * * @param request * Request对象 * @param key * 所需要取的键值 * @param defaultValue * 默认值 * @return value 返回request的String值 */ public static String getPara(HttpServletRequest request, String key, String defaultValue) { String value = ""; try { value = request.getParameter(key); } catch (Exception ex) { value = null; } if (value == null) { return defaultValue; } value = value.trim(); if ("".equals(value)) { return defaultValue; } return value; } /** request对象获取int值 */ public static int getPara(HttpServletRequest request, String key, int defaultValue) { String valueStr = ""; try { valueStr = request.getParameter(key); } catch (Exception ex) { valueStr = null; } if (valueStr == null) { return defaultValue; } valueStr = valueStr.trim(); int value = 0; try { value = Integer.parseInt(valueStr); } catch (Exception ex) { value = 0; } if (value <= 0) { value = defaultValue; } return value; } /** request对象获取float值 */ public static float getPara(HttpServletRequest request, String key, float defaultValue) { String valueStr = ""; try { valueStr = request.getParameter(key); } catch (Exception ex) { valueStr = null; } if (valueStr == null) { return defaultValue; } valueStr = valueStr.trim(); float value = 0; try { value = Float.parseFloat(valueStr); } catch (Exception ex) { value = 0; } if (value <= 0) { value = defaultValue; } return value; } /** request对象获取double值 */ public static double getPara(HttpServletRequest request, String key, double defaultValue) { String valueStr = ""; try { valueStr = request.getParameter(key); } catch (Exception ex) { valueStr = null; } if (valueStr == null) { return defaultValue; } valueStr = valueStr.trim(); double value = 0; try { value = Double.parseDouble(valueStr); } catch (Exception ex) { value = 0; } if (value <= 0) { value = defaultValue; } return value; } /** session对象获取String值 */ public static String getPara(HttpSession session, String key, String defaultValue) { String value = ""; try { if (session.getAttribute(key) != null) { value = session.getAttribute(key).toString().trim(); } } catch (Exception e) { value = ""; } if ("".equals(value)) { value = defaultValue; } return value; } /** session对象获取int值 */ public static int getPara(HttpSession session, String key, int defaultValue) { int value = 0; try { if (session.getAttribute(key) != null) { try { value = Integer.parseInt(session.getAttribute(key).toString().trim()); } catch (Exception ex) { value = 0; } } } catch (Exception e) { value = 0; } if (value <= 0) { value = defaultValue; } return value; } /** session对象获取float值 */ public static float getPara(HttpSession session, String key, float defaultValue) { float value = 0; try { if (session.getAttribute(key) != null) { try { value = Float.parseFloat(session.getAttribute(key).toString().trim()); } catch (Exception ex) { value = 0; } } } catch (Exception e) { value = 0; } if (value <= 0) { value = defaultValue; } return value; } /** session对象获取double值 */ public static double getPara(HttpSession session, String key, double defaultValue) { double value = 0; try { if (session.getAttribute(key) != null) { try { value = Double.parseDouble(session.getAttribute(key).toString().trim()); } catch (Exception ex) { value = 0; } } } catch (Exception e) { value = 0; } if (value <= 0) { value = defaultValue; } return value; } /*-- 时间函数 - BEGIN --*/ /** 转换成指定日期格式 Date对象 --未用 */ public static Date getNewDate(String dateStr, String sftStr) { SimpleDateFormat sdf = new SimpleDateFormat(sftStr); try { return (Date) sdf.parse(dateStr); } catch (Exception e) { return new Date(); } } /** * 获取传入的字符串转换, 传入的指定日期时间格式 * * @param dateStr * 日期格式字符串 * @param sftStr * 指定的日期时间格式编码, 例如:yyyy-MM-dd HH:mm:ss * @return 如传入的字符串不是日期时间格式, 将返回系统的日期时间 */ public static String getDate(String dateStr, String sftStr) { SimpleDateFormat sdf = new SimpleDateFormat(sftStr); if ("".equals(dateStr)) { return sdf.format(new Date()); } try { return sdf.format((Date) new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateStr)); } catch (Exception ex1) { try { return sdf.format((Date) new SimpleDateFormat("yyyy-MM-dd").parse(dateStr)); } catch (Exception ex2) { return sdf.format(new Date()); } } } /** 转换成日期格式yyyy-MM-dd */ public static String getDate(String dateStr) { return Const.getDate(dateStr, "yyyy-MM-dd"); } /** 转换成日期格式yyyy-MM-dd HH:mm:ss */ public static String getDateTime(String dateStr) { return Const.getDate(dateStr, "yyyy-MM-dd HH:mm:ss"); } /** 转换成日期格式HH:mm:ss */ public static String getTime(String dateStr) { return Const.getDate(dateStr, "HH:mm:ss"); } /** 转换成日期格式hh:mm */ public static String getTimeHM(String dateStr) { return Const.getDate(dateStr, "HH:mm"); } /** 转换成日期格式yyyy年MM月dd日 */ public static String getGBKDate(String dateStr) { return Const.getDate(dateStr, "yyyy年MM月dd日"); } /** 转换成日期格式yyyy年MM月dd日 HH:mm:ss */ public static String getGBKDateTime(String dateStr) { return Const.getDate(dateStr, "yyyy年MM月dd日 HH:mm:ss"); } /** 转换成日期格式yyyy年MM月dd日 HH:mm */ public static String getGBKDateHM(String dateStr) { return Const.getDate(dateStr, "yyyy年MM月dd日 HH:mm"); } /** 转换成日期格式yyyy年MM月dd日 HH点mm分ss秒 isSec 是否显示秒 (1:显示,0:不显示) */ public static String getGBKDateHHmm(String dateStr, int isSec) { if (isSec == 1) { return Const.getDate(dateStr, "yyyy年MM月dd日 HH点mm分ss秒"); } else { return Const.getDate(dateStr, "yyyy年MM月dd日 HH点mm分"); } } /** 转换成日期格式MM月dd日 */ public static String getGBKMD(String dateStr) { return Const.getDate(dateStr, "MM月dd日"); } /** 转换成日期格式HH点mm分 */ public static String getGBKHM(String dateStr) { return Const.getDate(dateStr, "HH点mm分"); } /** 获取年yyyy */ public static String getYear(String dateStr) { return Const.getDate(dateStr, "yyyy"); } /** 获取月MM */ public static String getMonth(String dateStr) { return Const.getDate(dateStr, "MM"); } /** 获取日dd */ public static String getDay(String dateStr) { return Const.getDate(dateStr, "dd"); } /** 转换成日期格式yyyyMMddHHmmss */ public static String getDateTimeStr(String dateStr) { return Const.getDate(dateStr, "yyyyMMddHHmmss"); } /** 转换成日期格式yyyyMMddhhmmssSS */ public static String getDateTimeMSEL(String dateStr) { return Const.getDate(dateStr, "yyyyMMddHHmmssSS"); } /** 获取星期几WEEK */ public static String getWeek(String dateStr) { String[] weekDays = { "日", "一", "二", "三", "四", "五", "六" }; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c = null; try { sdf.set2DigitYearStart(sdf.parse(dateStr)); c = sdf.getCalendar(); return weekDays[c.get(Calendar.DAY_OF_WEEK) - 1]; } catch (Exception e) { sdf.set2DigitYearStart(new Date()); c = sdf.getCalendar(); return weekDays[c.get(Calendar.DAY_OF_WEEK) - 1]; } } /** 获取一年中的第几周WEEK */ public static String getWeekYear(String dateStr) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d = null; Calendar c = null; try { d = sdf.parse(dateStr); c = Calendar.getInstance(); c.setTimeInMillis(d.getTime()); return Integer.toString(c.get(Calendar.WEEK_OF_YEAR)); } catch (Exception e) { d = new Date(); c = Calendar.getInstance(); c.setTimeInMillis(d.getTime()); return Integer.toString(c.get(Calendar.WEEK_OF_YEAR)); } } /** * 根据生日日期获取年龄 * * @param birthday * 生日日期 * @param unit * 单位, 例如:岁 * @return 返回年龄, 如传入的是非法日期字符串, 则返回“保密” */ public static String getAgeNum(String birthday, String unit) { if ("".equals(birthday)) { return "保密"; } else { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); int birYear = 0; int nowYear = 0; int age = 0; Calendar c = null; try { sdf.set2DigitYearStart(sdf.parse(birthday)); c = sdf.getCalendar(); birYear = c.get(Calendar.YEAR); } catch (Exception e) { sdf.set2DigitYearStart(new Date()); c = sdf.getCalendar(); birYear = c.get(Calendar.YEAR); } sdf.set2DigitYearStart(new Date()); c = sdf.getCalendar(); nowYear = c.get(Calendar.YEAR); age = nowYear - birYear; if (age > 0) { return Integer.toString(age) + unit; } else { return "保密"; } } } /** * 获取传入的时间秒差,去除毫秒 传入的时间格式yyyy-MM-dd hh:mm:ss * * @param dateStr * @return 如传入的字符串不是日期时间格式, 将返回系统的当前时间的秒差 */ public static String getTimeLong(String dateStr) { String tieml = ""; if (!"".equals(dateStr)) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { tieml = Long.toString(sdf.parse(dateStr).getTime()); } catch (Exception e) { tieml = Long.toString(System.currentTimeMillis()); } } else { tieml = Long.toString(System.currentTimeMillis()); } if (tieml.length() > 10) { tieml = tieml.substring(0, 10); } return tieml; } /** * 获取传入的时间秒差,去除毫秒 传入的时间格式yyyy-MM-dd hh:mm:ss * * @param dateStr * @return long 如传入的字符串不是日期时间格式, 将返回系统的当前时间的秒差 */ public static Long getTimeLongLong(String dateStr) { long tieml = 0; if (!"".equals(dateStr)) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { tieml = sdf.parse(dateStr).getTime(); } catch (Exception e) { tieml = System.currentTimeMillis(); } } else { tieml = System.currentTimeMillis(); } String tiemlStr = Long.toString(tieml); if (tiemlStr.length() > 10) { tiemlStr = tiemlStr.substring(0, 10); } try { tieml = Long.parseLong(tiemlStr); } catch (Exception ex) { tieml = 0; } return tieml; } /** * 获取传入的时间秒差 传入的时间格式yyyy-MM-dd hh:mm:ss * * @param dateStr * @return */ public static String getTimeLong1(String dateStr) { String tieml = ""; if (!"".equals(dateStr)) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { tieml = Long.toString(sdf.parse(dateStr).getTime()); } catch (Exception e) { tieml = Long.toString(System.currentTimeMillis()); } } else { tieml = Long.toString(System.currentTimeMillis()); } return tieml; } /** 传入的时间增加N天 */ public static String getAddDay(String dateStr, int day) { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar cd = Calendar.getInstance(); cd.setTime(sdf.parse(dateStr)); cd.add(Calendar.DATE, day);// 增加N天 return sdf.format(cd.getTime()); } catch (Exception ex) { return ""; } } /** * 时间戳转换成普通时间格式 * * @param _timelong * 时间戳 * @param isToSec * 是否保留到秒戳 * @return */ public static String getTimeLongToDate(String _timelong, boolean isToSec) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if (_timelong == null || "".equals(_timelong)) { return sdf.format(new Date()); } long timelong = 0; try { timelong = Long.parseLong(_timelong); } catch (Exception ex) { ex.printStackTrace(); } if (isToSec) { timelong = timelong * 1000; } try { return sdf.format(new Date(timelong)); } catch (Exception e) { return sdf.format(new Date()); } } /** 获取传入的两个时间秒差 */ public static long getTimeLongDiff(String dateStr1, String dateStr2) { if (!"".equals(dateStr1) && !"".equals(dateStr2)) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); long tieml1 = 0, tieml2 = 0; try { tieml1 = sdf.parse(dateStr1).getTime(); } catch (Exception e) { tieml1 = 0; } try { tieml2 = sdf.parse(dateStr2).getTime(); } catch (Exception e) { tieml2 = 0; } if (tieml1 > 0 && tieml2 > 0) { return (tieml2 - tieml1) / 1000; } else { return 0; } } else { return 0; } } /** * 获取剩余时间 天/小时/分钟/秒 * * @param _sec * 剩余秒数 * @param format * @param fillStr * @return */ public static String getResDateGBK(long _sec, String fillStr, int count) { long day = 0, hour = 0, minute = 0, second = 0; long sec = _sec;// 总秒数 if (sec >= 86400) { day = sec / 86400; sec = sec % 86400; } if (sec >= 3600) { hour = sec / 3600; sec = sec % 3600; } if (sec >= 60) { minute = sec / 60; sec = sec % 60; } if (sec > 0) { second = sec; } String str = ""; int num = 0; if (day > 0) { if (hour <= 0 && minute <= 0 && second <= 0) { str += day + "天"; } else { str += day + "天" + fillStr; } num++; } if (hour > 0) { if (minute <= 0 && second <= 0) { str += hour + "小时"; } else { str += hour + "小时" + fillStr; } num++; } if (minute > 0) { if (num >= count - 1) { str += minute + "分"; } else { str += minute + "分" + fillStr; } num++; } if (num < count) { str += second + "秒"; } return str; } /** * 获取剩余时间 天/小时/分钟/秒 * * @param _sec * 剩余秒数 * @param format * @param fillStr * @param isbold * @return */ public static String getResDateGBK(long _sec, String fillStr, int count, boolean isbold) { long day = 0, hour = 0, minute = 0, second = 0; long sec = _sec;// 总秒数 if (sec >= 86400) { day = sec / 86400; sec = sec % 86400; } if (sec >= 3600) { hour = sec / 3600; sec = sec % 3600; } if (sec >= 60) { minute = sec / 60; sec = sec % 60; } if (sec > 0) { second = sec; } String str = ""; int num = 0; if (day > 0) { if (hour <= 0 && minute <= 0 && second <= 0) { if (isbold) { str += "<strong>" + day + "</strong>天"; } else { str += day + "天"; } } else { if (isbold) { str += "<strong>" + day + "</strong>天" + fillStr; } else { str += day + "天" + fillStr; } } num++; } if (hour > 0) { if (minute <= 0 && second <= 0) { if (isbold) { str += "<strong>" + hour + "</strong>小时"; } else { str += hour + "小时"; } } else { if (isbold) { str += "<strong>" + hour + "</strong>小时" + fillStr; } else { str += hour + "小时" + fillStr; } } num++; } if (minute > 0) { if (num >= count - 1) { if (isbold) { str += "<strong>" + minute + "</strong>分"; } else { str += minute + "分"; } } else { if (isbold) { str += "<strong>" + minute + "</strong>分" + fillStr; } else { str += minute + "分" + fillStr; } } num++; } if (num < count) { if (isbold) { str += "<strong>" + second + "</strong>秒"; } else { str += second + "秒"; } } return str; } /** * 比较两个日期的天数 * * @param date1 * @param date2 * @return */ public static int getBetweenDays(String date1, String date2) { try { DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); int betweenDays = 0; Date d1 = format.parse(date1); Date d2 = format.parse(date2); Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(d1); c2.setTime(d2); // 保证第二个时间一定大于第一个时间 if (c1.after(c2)) { c1 = c2; c2.setTime(d1); } int betweenYears = c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR); betweenDays = c2.get(Calendar.DAY_OF_YEAR) - c1.get(Calendar.DAY_OF_YEAR); for (int i = 0; i < betweenYears; i++) { c1.set(Calendar.YEAR, (c1.get(Calendar.YEAR) + 1)); betweenDays += c1.getMaximum(Calendar.DAY_OF_YEAR); } return betweenDays; } catch (Exception ex) { return -1; } } /** * 获取多久前 如:30秒前,5分钟前,昨天10:00,前天11:20等 * * @param dateStr * 时间 * @param istoday * 是否显示"今天"两字 * @return */ public static String getDateForetime(String dateStr, int istoday) { if ("".equals(dateStr)) { return ""; } int dayNum = Const.getBetweenDays(dateStr, Const.getDate("")); if (dayNum > 2) { return Const.getDate(dateStr, "MM-dd HH:mm"); } else if (dayNum == 2) { return "前天" + Const.getDate(dateStr, "HH:mm"); } else if (dayNum == 1) { return "昨天" + Const.getDate(dateStr, "HH:mm"); } else if (dayNum == -1) { return ""; } long sec = Const.getTimeLongLong("") - Const.getTimeLongLong(dateStr); if (sec > 3600) { if (istoday == 1) { return "今天" + Const.getDate(dateStr, "HH:mm"); } else { return Const.getDate(dateStr, "HH:mm"); } } if (sec > 60) { return sec / 60 + "分钟前"; } if (sec <= 0) { sec = 1; } return sec + "秒前"; } /** * @param date1 * 需要比较的时间 不能为空(null),需要正确的日期格式 ,如:2009-09-12 * @param date2 * 被比较的时间 为空(null)则为当前时间 * @param stype * 返回值类型 0为多少天, 1为多少个月, 2为多少年 * @return 举例: compareDate("2009-09-12", null, 0);//比较天 * compareDate("2009-09-12", null, 1);//比较月 * compareDate("2009-09-12", null, 2);//比较年 */ public static int getCompareDate(String startDay, String endDay, int stype) { int n = 0; String formatStyle = stype == 1 ? "yyyy-MM" : "yyyy-MM-dd"; endDay = endDay == null ? getCurrentDate("yyyy-MM-dd") : endDay; DateFormat df = new SimpleDateFormat(formatStyle); Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); try { c1.setTime(df.parse(startDay)); c2.setTime(df.parse(endDay)); } catch (Exception e3) { System.out.println("wrong occured"); } while (!c1.after(c2)) { // 循环对比,直到相等,n就是所要的结果 n++; if (stype == 1) { c1.add(Calendar.MONTH, 1);// 比较月份,月份+1 } else { c1.add(Calendar.DATE, 1);// 比较天数,日期+1 } } n = n - 1; if (stype == 2) { n = (int) n / 365; } return n; } public static String getCurrentDate(String format) { Calendar day = Calendar.getInstance(); day.add(Calendar.DATE, 0); SimpleDateFormat sdf = new SimpleDateFormat(format);// "yyyy-MM-dd" String date = sdf.format(day.getTime()); return date; } /*-- 时间函数 - END --*/ /** * 获取随机码 * * @param digit * 位数(4,5,6位) * @return valString 随机码 */ public static String getRandomCode(int digit) { String valString = ""; /** 不允许出现的随机码 */ String[] pingbi_val = null; String[] pingbi_val4 = { "1234", "4321", "1111", "2222", "3333", "4444", "5555", "6666", "7777", "8888", "9999" }; String[] pingbi_val5 = { "12345", "54321", "11111", "22222", "33333", "44444", "55555", "66666", "77777", "88888", "99999" }; String[] pingbi_val6 = { "123456", "654321", "111111", "222222", "333333", "444444", "555555", "666666", "777777", "888888", "999999" }; /** 随机码中不允许出现的字符 */ String[] pingbi_zifu = { "000", "111", "222", "333", "444", "555", "666", "777", "888", "999" }; int i = 0, total = 0; Random r = new Random(); boolean bool = true; /** while循环生成随机码 -- BEGIN */ while (true) { bool = true; if (digit == 4) { pingbi_val = pingbi_val4; valString = Integer.toString(r.nextInt(8999) + 1000).trim(); // 获取4位的随机码 } else if (digit == 5) { pingbi_val = pingbi_val5; valString = Integer.toString(r.nextInt(89999) + 10000).trim(); // 获取5位的随机码 } else { pingbi_val = pingbi_val6; valString = Integer.toString(r.nextInt(899999) + 100000).trim(); // 获取6位的随机码 } /** 检查是否违反定好的屏蔽随机码数组 */ total = pingbi_val.length; for (i = 0; i < total; i++) { if (valString.equals(pingbi_val[i].trim())) { bool = false; } } /** 检查是否违反随机码规则, 随机码不能有超过三个以上相同的数字 */ total = pingbi_zifu.length; for (i = 0; i < total; i++) { if (valString.indexOf(pingbi_zifu[i]) >= 0) { bool = false; } } if (bool) { break; } } /** while循环生成随机码 -- END */ return valString; } /** 判断是否为整型数字 */ public static boolean isNum(String numStr) { if ("".equals(numStr)) { return false; } Pattern pattern = Pattern.compile("[0-9]*"); Matcher isNum = pattern.matcher(numStr); if (!isNum.matches()) { return false; } return true; } /** 判断是否为手机号码 */ public static boolean isMobile(String telStr) { if ("".equals(telStr)) { return false; } Pattern pattern = null; Matcher isNum1 = null, isNum2 = null, isNum3 = null; pattern = Pattern.compile("13\\d{9}"); isNum1 = pattern.matcher(telStr); pattern = Pattern.compile("15\\d{9}"); isNum2 = pattern.matcher(telStr); pattern = Pattern.compile("18\\d{9}"); isNum3 = pattern.matcher(telStr); if (!isNum1.matches() && !isNum2.matches() && !isNum3.matches()) { return false; } return true; } /** 判断是否为正确的EMAIL格式 */ public static boolean isEmail(String emailStr) { if ("".equals(emailStr)) { return false; } Pattern pattern = null; Matcher isNum = null; pattern = Pattern.compile("[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+"); isNum = pattern.matcher(emailStr); if (!isNum.matches()) { return false; } return true; } /** 返回URL编码后的字符串, 编码默认为GBK */ public static String getURLEncoder(String str) { if (str == null || "".equals(str)) { return ""; } try { return URLEncoder.encode(str, "gbk"); } catch (Exception ex) { return str; } } /** 返回URL编码后的字符串, 编码根据传入参数 */ public static String getURLEncoder(String str, String charstr) { if (str == null || "".equals(str)) { return ""; } if (!"".equals(charstr)) { try { return URLEncoder.encode(str, charstr); } catch (Exception ex) { return str; } } else { try { return URLEncoder.encode(str); } catch (Exception ex) { return str; } } } /** 根据传入的EMAIL,获取相对应的官方登陆地址 */ public static String getEmailHTTP(String email1) { String email = email1; if (!Const.isEmail(email)) { return ""; } String e = email.substring(email.indexOf("@")); String http = "http://www." + e.substring(1); // 默认 if (e.indexOf("@126.com") > -1) { http = "http://www.126.com/"; } else if (e.indexOf("@163.com") > -1) { http = "http://mail.163.com/"; } else if (e.indexOf("@vip.163.com") > -1) { http = "http://mail.163.com/"; } else if (e.indexOf("@yeah.net") > -1) { http = "http://www.yeah.net/"; } else if (e.indexOf("@188.com") > -1) { http = "http://www.188.com/"; } else if (e.indexOf("@sina.com") > -1 || e.indexOf("@vip.sina.com") > -1) { http = "http://mail.sina.com.cn/"; } else if (e.indexOf("@sohu.com") > -1 || e.indexOf("@vip.sohu.com") > -1) { http = "http://mail.sohu.com/"; } else if (e.indexOf("@gmail.com") > -1) { http = "http://www.gmail.com/"; } else if (e.indexOf("@139.com") > -1) { http = "http://mail.139.com/"; } else if (e.indexOf("@qq.com") > -1 || e.indexOf("@vip.qq.com") > -1) { http = "http://mail.qq.com/"; } else if (e.indexOf("@live.com") > -1 || e.indexOf("@hotmail.com") > -1) { http = "http://www.hotmail.com/"; } else if (e.indexOf("@21cn.com") > -1) { http = "http://mail.21cn.com/"; } else if (e.indexOf("@yahoo.com.cn") > -1 || e.indexOf("@yahoo.cn") > -1) { http = "http://mail.cn.yahoo.com/"; } else if (e.indexOf("@foxmail.com") > -1) { http = "http://www.foxmail.com/"; } else if (e.indexOf("@tom.com") > -1) { http = "http://mail.tom.com/"; } else if (e.indexOf("@263.net") > -1 || e.indexOf("@263.net.cn") > -1 || e.indexOf("@x263.net") > -1) { http = "http://www.263.net/"; } else if (e.indexOf("@sogou.com") > -1) { http = "http://mail.sogou.com/"; } return http; } /** 判断字符串的编码 */ public static String getEncoding(String str) { String encode = "GB2312"; try { if (str.equals(new String(str.getBytes(encode), encode))) { return encode; } } catch (Exception ex) { } encode = "ISO-8859-1"; try { if (str.equals(new String(str.getBytes(encode), encode))) { return encode; } } catch (Exception ex) { } encode = "UTF-8"; try { if (str.equals(new String(str.getBytes(encode), encode))) { return encode; } } catch (Exception ex) { } encode = "GBK"; try { if (str.equals(new String(str.getBytes(encode), encode))) { return encode; } } catch (Exception ex) { } encode = "BIG5"; try { if (str.equals(new String(str.getBytes(encode), encode))) { return encode; } } catch (Exception ex) { } return ""; } /** * 获取总页数, 根据传入集合的总行数与每页显示行数 * * @param totalCount * 总行数 * @param num * 每页显示行数 * @return 总页数 */ public static int getTotalPage(int totalCount, int num) { int totalPage = totalCount / num; if (totalCount % num > 0) { totalPage++; } return totalPage; } /** * 获取合格的当前页码, 根据传入的总页数 * * @param totalPage * 总页数 * @return 当前页码 */ public static int getPageNum(int totalPage, int pageNum) { int page = pageNum; if (pageNum >= totalPage) { page = totalPage; } if (page <= 0) { page = 1; } return page; } /** * 获取开始页码 根据传入的展示数字页码个数, 当前页码, 总页码 * * @param num * 展示数字页码个数 * @param totalPage * 总页码 * @param pageNum * 当前页码 * @return 开始页码 */ public static int getBeginNum(int num, int pageNum, int totalPage) { int bnum = 1; if (num > totalPage) { bnum = 1; } else { int leftnum = 0; if (num % 2 == 0) { leftnum = num / 2 - 1; } else { leftnum = num / 2; } bnum = pageNum - leftnum; if (bnum + num - 1 >= totalPage) { bnum = totalPage - num + 1; } } if (bnum <= 0) { bnum = 1; } return bnum; } /** * 传入Double类型的数值,返回指定小数点后位数 * * @param val * Double类型数值 * @param decimal * 小数点后位数 * @param bool * 是否在小于1大于0时,返回1 * @return */ public static String getFloatDecimal(double val, int beginDecimal, int endDecimal, boolean bool) { String returnValStr = ""; String decimalStr = "", beginStr = "", endStr = ""; int i = 0; for (i = 0; i < beginDecimal; i++) { beginStr += "#"; } for (i = 0; i < endDecimal; i++) { endStr += "#"; } decimalStr = beginStr; if (!"".equals(endStr)) { decimalStr = decimalStr + "." + endStr; } try { returnValStr = new DecimalFormat(decimalStr).format(val).toString(); } catch (Exception ex) { returnValStr = "0"; } if (bool) { double returnVal = 0; try { returnVal = Double.parseDouble(returnValStr); } catch (Exception ex) { returnVal = 0; } if (returnVal > 0 && returnVal < 1) { return "1"; } else { return Double.toString(returnVal); } } else { return returnValStr; } } /** 去除HTML标签 */ public static String getDeleteHTMLTab(String str) { if ("".equals(str)) { return ""; } int i = 0, j = 0; String s1 = str; String s2 = ""; String returnString = ""; while (!"".equals(s1.trim())) { i = s1.indexOf("<"); if (i > 0) { s2 = s1.substring(0, i); returnString = returnString + s2; } s1 = s1.substring(i + 1); j = s1.indexOf(">"); if (i < 0) { returnString += s1; break; } s1 = s1.substring(j + 1); } return returnString.trim(); } /** 过滤HTML标签 */ public static String getFilteHTML(String _str) { if (_str == null || "".equals(_str)) { return ""; } String str = _str; str = str.replace("<", "<"); str = str.replace(">", ">"); return str; } /** 替换常用的HTML字符 */ public static String getReplaceHTMLStr(String _str) { if (_str == null || "".equals(_str)) { return ""; } String str = _str; str = str.replace("\r\n", "<br/>"); str = str.replace("\n", "<br/>"); return str; } /** 过滤非法SQL字符 防止T-SQL语句注入 */ public static String getFiltNonStr(String _str) { if (_str == null || "".equals(_str)) { return ""; } String str = _str; str = str.replace("'", "''"); return str; } /** * 执行传入的T-SQL语句, 用于插入,删除,修改等 * * @param executeSql * 执行SQL语句 * @return 返回影响行数 */ public static int setDBExecuteSQL(String executeSql) { Connection conn = null; Statement st = null; conn = DBConn.getConnection(); // 获取DB连接 try { st = conn.createStatement(); return st.executeUpdate(executeSql); } catch (Exception e) { e.printStackTrace(); System.out.println("\nException: AT com.szmsd.util.Const.setDBExecuteSQL()!"+e.getMessage()); return 0; } finally { try { st.close(); } catch (Exception e) { } try { conn.close(); } catch (Exception e) { } } } /** * 获取数据库表的某一行单个值, 根据传入的查询语句与所需要的键 * * @param selectSql * 查询语句 * @param key * 键 * @return 指定键的值 */ public static String getOneRowValue(String selectSql, String key) { String oneStrValue = ""; Connection conn = null; Statement st = null; ResultSet rs = null; conn = DBConn.getConnection(); // 获取DB连接 try { st = conn.createStatement(); rs = st.executeQuery(selectSql); if (rs.next()) { oneStrValue = Const.getStr(rs.getString(key)); } return oneStrValue; } catch (Exception e) { System.out.println("\nException: AT com.szmsd.util.Const.getOneRowValue()!"); return ""; } finally { try { if (rs != null) { rs.close(); } } catch (Exception e) { } try { st.close(); } catch (Exception e) { } try { conn.close(); } catch (Exception e) { } } } /** * 获取结果集的总行数 * * @param rs * ResultSet 结果集 * @return totalCount 总行数 */ public static int getResultSetCount(ResultSet rs) { int totalCount = 0; try { if (rs != null) { rs.last(); totalCount = rs.getRow(); rs.beforeFirst(); } else { return 0; } } catch (Exception e) { System.out.println("\nException: AT com.szmsd.util.Const.getResultSetCount()!"); return 0; } finally { try { rs.beforeFirst(); } catch (Exception e) { System.out.println("\nException: AT com.szmsd.util.Const.getResultSetCount() rs.beforeFirst()>>!"); } } return totalCount; } /** * 获取数据集的总行数 根据传入的表名与条件查询 * * @param tableName * 表名 * @param col * count 字段 * @param where * 条件 * @return totalCount 总行数 */ public static int getResuleSetCount(String tableName, String col, String where) { int totalCount = 0; Connection conn = null; ResultSet rs = null; Statement st = null; conn = DBConn.getConnection();// 获取DB连接 String sql = ""; try { sql = "select count(" + col + ") AS c from " + tableName + " " + where; st = conn.createStatement(); rs = st.executeQuery(sql); if (rs.next()) { totalCount = rs.getInt("c"); } return totalCount; } catch (Exception e) { System.out.println(sql); System.out.println("\nException: AT com.szmsd.util.Const.getResuleSetCount()!"); return 0; } finally { try { if (rs != null) { rs.close(); } } catch (Exception e) { } try { st.close(); } catch (Exception e) { } try { conn.close(); } catch (Exception e) { } } } /** * 获取数据集的总行数 根据传入的表名与条件查询 * * @param tableName * 表名 * @param col * count 字段 * @param where * 条件 * @return totalCount 总行数 */ public static int getResuleSetSum(String tableName, String col, String where) { int totalCount = 0; Connection conn = null; ResultSet rs = null; Statement st = null; conn = DBConn.getConnection();// 获取DB连接 String sql = ""; try { sql = "select sum(" + col + ") AS c from " + tableName + " " + where; st = conn.createStatement(); rs = st.executeQuery(sql); if (rs.next()) { totalCount = rs.getInt("c"); } return totalCount; } catch (Exception e) { System.out.println(sql); System.out.println("\nException: AT com.szmsd.util.Const.getResuleSetSum()!"); return 0; } finally { try { if (rs != null) { rs.close(); } } catch (Exception e) { } try { st.close(); } catch (Exception e) { } try { conn.close(); } catch (Exception e) { } } } /** * 获取数据集的总行数 根据传入的表名与条件查询, 带分组 * * @param tableName * 表名 * @param col * count(字段) * @param where * 条件 * @param groupby * 分组 * @return totalCount 总行数 */ public static int getResuleSetCount(String tableName, String col, String where, String groupby) { int totalCount = 0; Connection conn = null; ResultSet rs = null; Statement st = null; conn = DBConn.getConnection(); // 获取DB连接 String sql = ""; try { sql = "select count(t.c) AS c from (select " + col + " AS c from " + tableName + " " + where + " " + groupby + ") t"; st = conn.createStatement(); rs = st.executeQuery(sql); if (rs.next()) { totalCount = rs.getInt("c"); } return totalCount; } catch (Exception e) { System.out.println("\nException: AT com.szmsd.util.Const.getResuleSetCount()!"); return 0; } finally { try { if (rs != null) { rs.close(); } } catch (Exception e) { } try { st.close(); } catch (Exception e) { } try { conn.close(); } catch (Exception e) { } } } /** * 屏蔽非法关键字 从系统配置表 sys_config 取出 bad_keyword 键的值 * * @param str * @return */ public static String getScreenKey(String _str) { if (_str == null || "".equals(_str)) { return ""; } String str = _str; // String keyword=getOneRowValue("select cfg_value from sys_config where // cfg_key='bad_keyword'","cfg_value"); String keyword = "77元;房租77元;钓鱼岛;法轮;falun;falundafa;zhuanfalu;六四;"; String[] key = keyword.split(";"); String xing = ""; int i = 0, j = 0, total1 = 0, total2 = 0; for (i = 0, total1 = key.length; i < total1; i++) { xing = ""; for (j = 0, total2 = key[i].length(); j < total2; j++) { xing += "*"; } str = str.replaceAll(key[i], xing); } return str; } // 获取当前网站访问的路径 public static String getBasePath(HttpServletRequest request) { String basePath = request.getScheme() + "://"; basePath += request.getHeader("host"); basePath += request.getRequestURI(); if (request.getQueryString() != null) basePath += "?" + request.getQueryString(); return basePath; } public static String getStrToGMT(String str) { // String source = "Sat Mar 30 2013 08:45:00 GMT+0800 (中国标准时间)"; //Sat // Mar 30 2013 08:45:00 GMT+0800 (中国标准时间) String dest = null; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dest = format.format(Date.parse(str)); return dest; } public static long dateToLong(String in) { try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = format.parse(in); Calendar cal = Calendar.getInstance(); cal.setTime(date); return cal.getTimeInMillis(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return 0; } /** * 将timestamp转换成date * * @author hellostoy * @param tt * @return */ public static Date timestampToDate(Timestamp tt) { return new Date(tt.getTime()); } public static void main(String[] args) { System.out.println(Const.dateToLong("2014-04-14 15:04:09")/1000); Const util = new Const(); System.out.println(util.tempuser); }}
2:AlipayConfig.java
public class AlipayConfig { private static AlipayConfig alconfig = null; private AlipayConfig(){ } public static AlipayConfig getInstance(){ if(alconfig==null){ alconfig = new AlipayConfig(); } return alconfig; } // 如何获取安全校验码和合作身份者ID // 1.访问支付宝商户服务中心(b.alipay.com),然后用您的签约支付宝账号登陆. // 2.访问“技术服务”→“下载技术集成文档”(https://b.alipay.com/support/helperApply.htm?action=selfIntegration) // 3.在“自助集成帮助”中,点击“合作者身份(Partner ID)查询”、“安全校验码(Key)查询” // ↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ // 合作身份者ID,以2088开头由16位纯数字组成的字符串 public static String it_b_pay = "1h"; public static String partner = "2088601003079118"; public static String service = "create_direct_pay_by_user"; // 交易安全检验码,由数字和字母组成的32位字符串 public static String key = "zxcdvxgksaam2zjrmv5cv0p4jqesaioh"; // 签约支付宝账号或卖家收款支付宝帐户 public static String seller_email = "test@yahoo.com.cn"; // 读配置文件 // notify_url 交易过程中服务器通知的页面 要用 http://格式的完整路径,不允许加?id=123这类自定义参数 public static String notify_url ="http:www.xxx.com/projectName/alipayTrade.action"; // 付完款后跳转的页面 要用 http://格式的完整路径,不允许加?id=123这类自定义参数 // return_url的域名不能写成http://localhost/js_jsp_utf8/return_url.jsp,否则会导致return_url执行无效 //public static String return_url = "http:www.xxx.com/projectName/alipayTrade.action"; // 网站商品的展示地址,不允许加?id=123这类自定义参数 public static String show_url = "http://www.alipay.com"; // 收款方名称,如:公司名称、网站名称、收款人姓名等 public static String mainname = "收款方名称"; // ↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ // 字符编码格式 目前支持 gbk 或 utf-8 public static String input_charset = "UTF-8"; // 签名方式 不需修改 public static String sign_type = "MD5"; // 访问模式,根据自己的服务器是否支持ssl访问,若支持请选择https;若不支持请选择http public static String transport = "http";}
3:Md5Encrypt.java
import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class Md5Encrypt { /** * Used building output as Hex */ private static final char[] DIGITS = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; /** * 对字符串进行MD5加密 * * @param text * 明文 * * @return 密文 */ public static String md5(String text) { MessageDigest msgDigest = null; try { msgDigest = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { throw new IllegalStateException( "System doesn't support MD5 algorithm."); } try { msgDigest.update(text.getBytes(AlipayConfig.input_charset)); // 注意改接口是按照指定编码形式签名 } catch (UnsupportedEncodingException e) { throw new IllegalStateException( "System doesn't support your EncodingException."); } byte[] bytes = msgDigest.digest(); String md5Str = new String(encodeHex(bytes)); return md5Str; } public static char[] encodeHex(byte[] data) { int l = data.length; char[] out = new char[l << 1]; // two characters form the hex value. for (int i = 0, j = 0; i < l; i++) { out[j++] = DIGITS[(0xF0 & data[i]) >>> 4]; out[j++] = DIGITS[0x0F & data[i]]; } return out; } public static void main(String[] args) { System.out.println(md5("msd")); }}
4:PropertiesUtils.java
mport java.io.Serializable;import org.apache.commons.configuration.ConfigurationException;import org.apache.commons.configuration.PropertiesConfiguration;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;public class PropertiesUtils implements Serializable { private static final long serialVersionUID = -3095271558987987812L; private static final Log logger = LogFactory.getLog(PropertiesUtils.class); private static final String CONFIG_FILE = "logistics.properties"; private static PropertiesConfiguration pc; private PropertiesUtils() { } public synchronized static PropertiesConfiguration getInstance() { if (pc != null) { return pc; } try { pc = new PropertiesConfiguration(CONFIG_FILE); } catch (ConfigurationException cexception) { logger.error("read properties file error.", cexception); throw new RuntimeException(cexception); } return pc; }}
阅读全文
1 0
- java文件工具类
- java日期工具类
- java 绝对路径工具类
- java工具类
- Java 数据处理工具类
- java日期工具类
- java工具类Assert
- 一些Java工具类
- anroid&java工具类
- java StringUtil 工具类
- java身份证号工具类
- java 日期工具类
- Java开发工具类
- java 加密工具类
- java集合工具类
- java时间工具类
- java 时间工具类
- Java加密工具类
- ARKit从入门到精通(3)-ARKit自定义实现
- propTypes的使用
- Properties的工具类,用于读取外部文件Properties
- 【实战】移植QT5.6.0到嵌入式linuxS3C2440单板
- C# 复习 + 进阶 【语法基础】
- java工具类
- 精选10款超酷的HTML5/CSS3菜单
- Android Studio编译后安装apk报错:The APK file does not exist on
- first day
- 持续集成篇-- SonarQube代码质量管理平台的安装
- word2vec浅析
- 【备忘】使用 Docker Machine 创建虚拟机的脚本及参数
- BootStrap 模态框禁用ESC关闭、禁用点击空白处关闭
- Android进阶之路