UrlUtils工具类,Java URL工具类,Java URL链接工具类
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月15日
http://fanshuyao.iteye.com/
import java.util.HashMap; import java.util.Map; import java.util.Set; public class UrlUtils { /** * 向url链接追加参数 * @param url * @param params Map<String, String> * @return */ public static String appendParams(String url, Map<String, String> params){ if(StrUtils.isBlank(url)){ return ""; }else if(StrUtils.isEmptyMap(params)){ return url.trim(); }else{ StringBuffer sb = new StringBuffer(""); Set<String> keys = params.keySet(); for (String key : keys) { sb.append(key).append("=").append(params.get(key)).append("&"); } sb.deleteCharAt(sb.length() - 1); url = url.trim(); int length = url.length(); int index = url.indexOf("?"); if(index > -1){//url说明有问号 if((length - 1) == index){//url最后一个符号为?,如:http://wwww.baidu.com? url += sb.toString(); }else{//情况为:http://wwww.baidu.com?aa=11 url += "&" + sb.toString(); } }else{//url后面没有问号,如:http://wwww.baidu.com url += "?" + sb.toString(); } return url; } } /** * 向url链接追加参数(单个) * @param url * @param name String * @param value String * @return */ public static String appendParam(String url, String name, String value){ if(StrUtils.isBlank(url)){ return ""; }else if(StrUtils.isBlank(name)){ return url.trim(); }else{ Map<String, String> params = new HashMap<String, String>(); params.put(name, value); return appendParams(url, params); } } /** * 移除url链接的多个参数 * @param url String * @param paramNames String[] * @return */ public static String removeParams(String url, String... paramNames){ if(StrUtils.isBlank(url)){ return ""; }else if(StrUtils.isEmptyArray(paramNames)){ return url.trim(); }else{ url = url.trim(); int length = url.length(); int index = url.indexOf("?"); if(index > -1){//url说明有问号 if((length - 1) == index){//url最后一个符号为?,如:http://wwww.baidu.com? return url; }else{//情况为:http://wwww.baidu.com?aa=11或http://wwww.baidu.com?aa=或http://wwww.baidu.com?aa String baseUrl = url.substring(0, index); String paramsString = url.substring(index + 1); String[] params = paramsString.split("&"); if(!StrUtils.isEmptyArray(params)){ Map<String, String> paramsMap = new HashMap<String, String>(); for (String param : params) { if(!StrUtils.isBlank(param)){ String[] oneParam = param.split("="); String paramName = oneParam[0]; int count = 0; for(int i=0; i<paramNames.length; i++){ if(paramNames[i].equals(paramName)){ break; } count ++; } if(count == paramNames.length){ paramsMap.put(paramName, (oneParam.length > 1)?oneParam[1]:""); } } } if(!StrUtils.isEmptyMap(paramsMap)){ StringBuffer paramBuffer = new StringBuffer(baseUrl); paramBuffer.append("?"); Set<String> set = paramsMap.keySet(); for (String paramName : set) { paramBuffer.append(paramName).append("=").append(paramsMap.get(paramName)).append("&"); } paramBuffer.deleteCharAt(paramBuffer.length() - 1); return paramBuffer.toString(); } return baseUrl; } } } return url; } } public static void main(String[] args) { /*String a = "http://wwww.baidu.com"; String b = "http://wwww.baidu.com?"; String c = "http://wwww.baidu.com?aa=11"; System.out.println("a="+appendParam(a, "bb", "1")); System.out.println("b="+appendParam(b, "bb", "1")); System.out.println("c="+appendParam(c, "bb", "1"));*/ String d = "http://wwww.baidu.com?aa"; String e = "http://wwww.baidu.com?aa=11&bb=22&cc=33"; String f = "http://wwww.baidu.com?aa=11&bb=22&cc=33&dd="; String g = "http://wwww.baidu.com?aa=11&bb=22&cc=33&dd"; System.out.println("g="+removeParams(g, "cc","aa")); } }
StrUtils 工具类:
import java.util.ArrayList; import java.util.Calendar; import java.util.List; import java.util.Map; import java.util.UUID; public class StrUtils { /** * 随机获取数字和大写英文字母组合的字符串 * @param size 返回的字符串的位数,如果小于1,则默认是6 * @return String * @since 2015-09-25 */ public static String getRandomLetterAndDigital(int size){ String str = "23456789ABCDEFGHJKLMNPQRSTUVWXYZ";//去掉容易混淆字符:0与O,1与I StringBuffer sb = new StringBuffer(); if(size < 1){ size = 6; } for(int i=0; i<size; i++){ int ran = (int) (Math.random()*str.length()); sb.append(str.charAt(ran)); } return sb.toString().trim(); } /** * 随机获取大/小写英文字母组合的字符串 * @param size 返回的字符串的位数,如果小于1,则默认是6 * @return String * @since 2015-09-25 */ public static String getLetter(int size){ String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; StringBuffer sb = new StringBuffer(); if(size < 1){ size = 6; } for(int i=0; i<size; i++){ int ran = (int) (Math.random()*str.length()); sb.append(str.charAt(ran)); } return sb.toString().trim(); } /** * 随机获取大写英文字母组合的字符串 * @param size 返回的字符串的位数,如果小于1,则默认是6 * @return String * @since 2015-09-25 */ public static String getUpperLetter(int size){ String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; StringBuffer sb = new StringBuffer(); if(size < 1){ size = 6; } for(int i=0; i<size; i++){ int ran = (int) (Math.random()*str.length()); sb.append(str.charAt(ran)); } return sb.toString().trim(); } /** * 随机获取数字字符串 * @param size 返回的字符串的位数 * @return String * @since 2015-09-25 */ public static String getRandomDigital(int size){ String str = "1234567890"; StringBuffer sb = new StringBuffer(); if(size < 1){ return null; }else{ for(int i=0; i<size; i++){ int ran = (int) (Math.random()*10); sb.append(str.charAt(ran)); } return sb.toString().trim(); } } /** * 获取随机数字,同getRandomDigital * @param size * @return */ public static String getNumber(int size){ return getRandomDigital(size); } /** * 生成年月日时分秒毫秒(20120905050602000) * @return * @since 2015-09-25 */ public static String getYYYYMMDDHHmmssmilliSecond(){ StringBuffer str = new StringBuffer(""); String strMonth = ""; String strDate = ""; String strHour = ""; String strMinute = ""; String strSecond = ""; String strMilliSecond = ""; Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH)+1; int date = cal.get(Calendar.DATE); int hour = cal.get(Calendar.HOUR_OF_DAY); int minute = cal.get(Calendar.MINUTE); int second = cal.get(Calendar.SECOND); int milliSecond = cal.get(Calendar.MILLISECOND); if(month < 10){ strMonth = "0" + month; }else{ strMonth = String.valueOf(month); } if(date < 10){ strDate = "0" + date; }else{ strDate = String.valueOf(date); } if(hour < 10){ strHour = "0" + hour; }else{ strHour = String.valueOf(hour); } if(minute < 10){ strMinute = "0" + minute; }else{ strMinute = String.valueOf(minute); } if(second < 10){ strSecond = "0" + second; }else{ strSecond = String.valueOf(second); } if(milliSecond < 10){ strMilliSecond = "00" + milliSecond; }else if(milliSecond < 100){ strMilliSecond = "0" + milliSecond; }else{ strMilliSecond = String.valueOf(milliSecond); } return str.append(String.valueOf(year).toString().trim()).append(strMonth.trim()).append(strDate.trim()).append(strHour.trim()).append(strMinute.trim()).append(strSecond.trim()).append(strMilliSecond.trim()).toString(); } /** * 生成年月日(20120905050602000) * @return * @since 2015-09-25 */ public static String getYYYYMMDD(){ StringBuffer str = new StringBuffer(""); String strMonth = ""; String strDate = ""; Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH)+1; int date = cal.get(Calendar.DATE); if(month < 10){ strMonth = "0" + month; }else{ strMonth = String.valueOf(month); } if(date < 10){ strDate = "0" + date; }else{ strDate = String.valueOf(date); } return str.append(String.valueOf(year).toString().trim()).append(strMonth.trim()).append(strDate.trim()).toString(); } /** * 获取uuid,有横杠(36位) * @return * @since 2015-10-14 */ public static String getUUID(){ return UUID.randomUUID().toString(); } /** * 获取uuid,无横杠(32位) * @return * @author lqyao * @since 2015-10-14 */ public static String getUUIDNumberOnly(){ return UUID.randomUUID().toString().replaceAll("-", ""); } /** * 移除字符串最后一个字符 * @return * @since 2015-10-14 */ public static String removeLastCode(String str){ if(str == null || str.length() < 1){ return str; } return str.substring(0, str.length()-1); } /** * 第一个字符变大写 * @param str * @return */ public static String firstCodeToUpperCase(String str){ if(isBlank(str)){ return str; } String strTrim = str.trim(); return String.valueOf(strTrim.charAt(0)).toUpperCase() + strTrim.substring(1,strTrim.length()); } /** * 获取字符串最后一个字符 * @return * @since 2016-01-13 */ public static String getLastCode(String str){ if(str == null || str.length() < 1){ return ""; } return str.substring(str.length()-1); } /** * 获取第一个id * @param str 字符串 * @return id */ public static String getFirstId(String str, String spiltCode) { if (spiltCode == null) { spiltCode = ","; } if(!StrUtils.isEmpty(str)){ if (str.indexOf(spiltCode) > -1) { return str.substring(0, str.indexOf(spiltCode)).trim(); } } return str; } /** * 去相同部分 * @param originalStr 原字符串 * @param deleteStr 需要去掉的字符串 * @return string * @author lqy */ public static String removeSamePart(String originalStr, String deleteStr) { if (originalStr != null && deleteStr != null) { originalStr = originalStr.replaceAll("\\(", "("); originalStr = originalStr.replaceAll("\\)", ")"); originalStr = originalStr.replaceAll(" | ", ""); deleteStr = deleteStr.replaceAll("\\(", "("); deleteStr = deleteStr.replaceAll("\\)", ")"); deleteStr = deleteStr.replaceAll(" | ", ""); if (originalStr.indexOf(deleteStr) > -1) { originalStr = originalStr.replaceAll(deleteStr, ""); } } return originalStr; } /** * 拆分字符串获取数组 * @param str 字符串 * @param spiltCode 拆分符号 * @return String[] */ public static String[] getArrayAfterSpilt(String str, String spiltCode) { if (str == null || str.trim().equals("")) { return null; }else{ if (spiltCode == null || spiltCode.trim().equals("")) { spiltCode = ","; } return str.split(spiltCode); } } /** * 拆分字符串获取Ids * @param idsString id字符串 * @param spiltCode 拆分符号 * @return ids */ public static int[] getIdsAfterSpilt(String idsString, String spiltCode) { List<Integer> idList = new ArrayList<Integer>(); if (idsString == null || idsString.trim().equals("")) { return null; } else { if (spiltCode == null || spiltCode.trim().equals("")) { spiltCode = ","; } String[] idArray = idsString.split(spiltCode); if (idArray != null && idArray.length > 0) { for (String string : idArray) { if (string != null && !string.trim().equals("")) { idList.add(Integer.parseInt(string.trim())); } } } } if (idList != null && idList.size() > 0) { int[] ids = new int[idList.size()]; for (int j = 0; j < idList.size(); j++) { ids[j] = idList.get(j); } return ids; } return null; } /** * * @param obj * @return obj == null; */ public static boolean isNull(Object obj) { return obj == null; } /** * 判断list是否为Null * @param list * @return */ public static <T> boolean isNullList(List<T> list) { return (list == null); } /** * 判断list是否为空 * @param list * @return (list == null) || (list.size() < 1) */ public static <T> boolean isEmptyList(List<T> list) { return (list == null) || (list.size() < 1); } /** * 判断Map是否为Null * @param map * @return */ public static <K, V> boolean isNullMap(Map<K, V> map) { return (map == null); } /** * 判断Map是否为空 * @param map * @return */ public static <K, V> boolean isEmptyMap(Map<K, V> map) { return (map == null || map.size() < 1); } /** * 判断数组是否为Null * @param obj * @return */ public static boolean isNullArray(Object[] obj) { return (obj == null); } /** * 判断数组是否为空 * @param obj * @return */ public static boolean isEmptyArray(Object[] obj) { return (obj == null || obj.length < 1); } /** * <p>Checks if a String is empty ("") or null.</p> * * <pre> * StringUtils.isEmpty(null) = true * StringUtils.isEmpty("") = true * StringUtils.isEmpty(" ") = false * StringUtils.isEmpty("bob") = false * StringUtils.isEmpty(" bob ") = false * </pre> * * <p>NOTE: This method changed in Lang version 2.0. * It no longer trims the String. * That functionality is available in isBlank().</p> * * @param str the String to check, may be null * @return <code>true</code> if the String is empty or null */ public static boolean isEmpty(String str) { return str == null || str.length() == 0; } /** * <p>Checks if a String is whitespace, empty ("") or null.</p> * * <pre> * StringUtils.isBlank(null) = true * StringUtils.isBlank("") = true * StringUtils.isBlank(" ") = true * StringUtils.isBlank("bob") = false * StringUtils.isBlank(" bob ") = false * </pre> * * @param str the String to check, may be null * @return <code>true</code> if the String is null, empty or whitespace * @since 2.0 */ public static boolean isBlank(String str) { int strLen; if (str == null || (strLen = str.length()) == 0) { return true; } for (int i = 0; i < strLen; i++) { if ((Character.isWhitespace(str.charAt(i)) == false)) { return false; } } return true; } /** * <p>Checks if the String contains only whitespace.</p> * * <p><code>null</code> will return <code>false</code>. * An empty String ("") will return <code>true</code>.</p> * * <pre> * StringUtils.isWhitespace(null) = false * StringUtils.isWhitespace("") = true * StringUtils.isWhitespace(" ") = true * StringUtils.isWhitespace("abc") = false * StringUtils.isWhitespace("ab2c") = false * StringUtils.isWhitespace("ab-c") = false * </pre> * * @param str the String to check, may be null * @return <code>true</code> if only contains whitespace, and is non-null * @since 2.0 */ public static boolean isWhitespace(String str) { if (str == null) { return false; } int sz = str.length(); for (int i = 0; i < sz; i++) { if ((Character.isWhitespace(str.charAt(i)) == false)) { return false; } } return true; } /** * 变成中文括号 * @param str * @return */ public static String bracketToChinese(String str){ if(isBlank(str)){ return str; } String strTrim = str.trim(); strTrim = strTrim.replaceAll("\\(", "(").replaceAll("\\)", ")"); return strTrim; } /** * 变成英文括号 * @param str * @return */ public static String bracketToEnglish(String str){ if(isBlank(str)){ return str; } String strTrim = str.trim(); strTrim = strTrim.replaceAll("(", "(").replaceAll(")", ")"); return strTrim; } /** * 替换字符串 * @param str * @param sourceStr,如果是特殊字符,如英文()、[]等,要使用\\( * @param targetStr * @return */ public static String replaceStr(String str, String sourceStr, String targetStr){ if(isBlank(str)){ return str; } String strTrim = str.trim(); strTrim = strTrim.replaceAll(sourceStr, targetStr); return strTrim; } /** * 根据idsString组装in后面带?的sql * @param idsString String * @return */ public static String getInSql(String idsString){ if(StrUtils.isBlank(idsString)){ throw new RuntimeException("参数不能为空"); } String[] ids = idsString.split(","); StringBuffer sb = new StringBuffer("").append("("); for (String id : ids) { if(!StrUtils.isBlank(id)){ sb.append("?").append(","); } } if(sb.indexOf(",") > -1){ sb.deleteCharAt(sb.length() - 1); } sb.append(")"); return sb.toString(); } /** * 根据idsString字符串,返回组装后的参数params * @param params List<Object> * @param idsString String * @return */ public static List<Object> setIdsParams(List<Object> params, String idsString){ if(StrUtils.isNullList(params) || StrUtils.isBlank(idsString)){ throw new RuntimeException("参数不能为空"); } String[] ids = idsString.split(","); for (String id : ids) { if(!StrUtils.isBlank(id)){ params.add(id); } } return params; } /** * 根据idsString组装in后面带?的sql,并设置params参数值 * @param params List<Object> * @param idsString String * @return */ public static String getInSql(List<Object> params, String idsString){ if(StrUtils.isNullList(params) || StrUtils.isBlank(idsString)){ throw new RuntimeException("参数不能为空"); } StringBuffer sb = new StringBuffer("").append("("); String[] ids = idsString.split(","); for (String id : ids) { if(!StrUtils.isBlank(id)){ sb.append("?").append(","); params.add(id); } } if(sb.indexOf(",") > -1){ sb.deleteCharAt(sb.length() - 1); } sb.append(")"); return sb.toString(); } /** * 把大写字母转换成_加小写字母(例:Q变为_q) * @param str 必须为一个字符 * @return * @author lqy */ public static String replaceUpperCase(String str){ if(isEmpty(str)){ return str; } return "_" + str.trim().toLowerCase(); } /** * 根据实体名获取tableName,即把大写字母变成_加小写字母 * @param entityName * @return * @author lqy */ public static String clazzNameToTableName(String clazzName){ if(StrUtils.isEmpty(clazzName)){ return null; } String nameTrim = clazzName.trim(); int length = nameTrim.length(); StringBuffer tableName = new StringBuffer(""); if(length > 0){ for (int i = 0; i < length; i++) { char c = nameTrim.charAt(i); if(!"".equals(c)){ if(RegUtils.isUpperCase(String.valueOf(c)) && i > 0 ){//i!=0排除第一个大写字母,不加下划线 tableName.append(StrUtils.replaceUpperCase(String.valueOf(c))); }else{ tableName.append(String.valueOf(c).toLowerCase()); } } } } //System.out.println("=====tableName.toString()="+tableName.toString()); return tableName.toString(); } public static void main(String[] args) throws Exception { /*System.out.println("getUUID = "+getUUID()); System.out.println("getUUID = "+getUUID()); System.out.println("getUUID = "+getUUID()); System.out.println("getUUIDNumberOnly = "+getUUIDNumberOnly());*/ //System.out.println(removeLastCode(" ab ")); } }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月15日
http://fanshuyao.iteye.com/