• UrlUtils工具类,Java URL工具类,Java URL链接工具类


    UrlUtils工具类,Java URL工具类,Java URL链接工具类

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    ©Copyright 蕃薯耀 2017年7月15日

    http://www.cnblogs.com/fanshuyao/

    Java代码  收藏代码
    1. import java.util.HashMap;  
    2. import java.util.Map;  
    3. import java.util.Set;  
    4.   
    5. public class UrlUtils {  
    6.   
    7.     /** 
    8.      * 向url链接追加参数 
    9.      * @param url 
    10.      * @param params Map<String, String> 
    11.      * @return 
    12.      */  
    13.     public static String appendParams(String url, Map<String, String> params){  
    14.         if(StrUtils.isBlank(url)){  
    15.             return "";  
    16.         }else if(StrUtils.isEmptyMap(params)){  
    17.             return url.trim();  
    18.         }else{  
    19.             StringBuffer sb = new StringBuffer("");  
    20.             Set<String> keys = params.keySet();  
    21.             for (String key : keys) {  
    22.                 sb.append(key).append("=").append(params.get(key)).append("&");  
    23.             }  
    24.             sb.deleteCharAt(sb.length() - 1);  
    25.               
    26.             url = url.trim();  
    27.             int length = url.length();  
    28.             int index = url.indexOf("?");  
    29.             if(index > -1){//url说明有问号  
    30.                 if((length - 1) == index){//url最后一个符号为?,如:http://wwww.baidu.com?  
    31.                     url += sb.toString();  
    32.                 }else{//情况为:http://wwww.baidu.com?aa=11  
    33.                     url += "&" + sb.toString();  
    34.                 }  
    35.             }else{//url后面没有问号,如:http://wwww.baidu.com  
    36.                 url += "?" + sb.toString();  
    37.             }  
    38.             return url;  
    39.         }  
    40.     }  
    41.       
    42.     /** 
    43.      * 向url链接追加参数(单个) 
    44.      * @param url 
    45.      * @param name String 
    46.      * @param value String 
    47.      * @return 
    48.      */  
    49.     public static String appendParam(String url, String name, String value){  
    50.         if(StrUtils.isBlank(url)){  
    51.             return "";  
    52.         }else if(StrUtils.isBlank(name)){  
    53.             return url.trim();  
    54.         }else{  
    55.             Map<String, String> params = new HashMap<String, String>();  
    56.             params.put(name, value);  
    57.             return appendParams(url, params);  
    58.         }  
    59.     }  
    60.       
    61.     /** 
    62.      * 移除url链接的多个参数 
    63.      * @param url String 
    64.      * @param paramNames String[] 
    65.      * @return 
    66.      */  
    67.     public static String removeParams(String url, String... paramNames){  
    68.         if(StrUtils.isBlank(url)){  
    69.             return "";  
    70.         }else if(StrUtils.isEmptyArray(paramNames)){  
    71.             return url.trim();  
    72.         }else{  
    73.             url = url.trim();  
    74.             int length = url.length();  
    75.             int index = url.indexOf("?");  
    76.             if(index > -1){//url说明有问号  
    77.                 if((length - 1) == index){//url最后一个符号为?,如:http://wwww.baidu.com?  
    78.                     return url;  
    79.                 }else{//情况为:http://wwww.baidu.com?aa=11或http://wwww.baidu.com?aa=或http://wwww.baidu.com?aa  
    80.                     String baseUrl = url.substring(0, index);  
    81.                     String paramsString = url.substring(index + 1);  
    82.                     String[] params = paramsString.split("&");  
    83.                     if(!StrUtils.isEmptyArray(params)){  
    84.                         Map<String, String> paramsMap = new HashMap<String, String>();  
    85.                         for (String param : params) {  
    86.                             if(!StrUtils.isBlank(param)){  
    87.                                 String[] oneParam = param.split("=");  
    88.                                 String paramName = oneParam[0];  
    89.                                 int count = 0;  
    90.                                 for(int i=0; i<paramNames.length; i++){  
    91.                                     if(paramNames[i].equals(paramName)){  
    92.                                         break;  
    93.                                     }  
    94.                                     count ++;  
    95.                                 }  
    96.                                 if(count == paramNames.length){  
    97.                                     paramsMap.put(paramName, (oneParam.length > 1)?oneParam[1]:"");  
    98.                                 }  
    99.                             }  
    100.                         }  
    101.                         if(!StrUtils.isEmptyMap(paramsMap)){  
    102.                             StringBuffer paramBuffer = new StringBuffer(baseUrl);  
    103.                             paramBuffer.append("?");  
    104.                             Set<String> set = paramsMap.keySet();  
    105.                             for (String paramName : set) {  
    106.                                 paramBuffer.append(paramName).append("=").append(paramsMap.get(paramName)).append("&");  
    107.                             }  
    108.                             paramBuffer.deleteCharAt(paramBuffer.length() - 1);  
    109.                             return paramBuffer.toString();  
    110.                         }  
    111.                         return baseUrl;  
    112.                     }  
    113.                 }  
    114.             }  
    115.             return url;  
    116.         }  
    117.     }  
    118.       
    119.     public static void main(String[] args) {  
    120.         /*String a = "http://wwww.baidu.com"; 
    121.         String b = "http://wwww.baidu.com?"; 
    122.         String c = "http://wwww.baidu.com?aa=11"; 
    123.         System.out.println("a="+appendParam(a, "bb", "1")); 
    124.         System.out.println("b="+appendParam(b, "bb", "1")); 
    125.         System.out.println("c="+appendParam(c, "bb", "1"));*/  
    126.           
    127.         String d = "http://wwww.baidu.com?aa";  
    128.         String e = "http://wwww.baidu.com?aa=11&bb=22&cc=33";  
    129.         String f = "http://wwww.baidu.com?aa=11&bb=22&cc=33&dd=";  
    130.         String g = "http://wwww.baidu.com?aa=11&bb=22&cc=33&dd";  
    131.         /*List<String> params = new ArrayList<String>(); 
    132.         params.add("aa"); 
    133.         System.out.println("d="+removeParams(d, params)); 
    134.         params.add("bb"); 
    135.         System.out.println("e="+removeParams(e, params)); 
    136.         params.add("cc"); 
    137.         System.out.println("f="+removeParams(f, params)); 
    138.         params.add("dd"); 
    139.         System.out.println("g="+removeParams(g, params));*/  
    140.         System.out.println("g="+removeParams(g, "cc","aa"));  
    141.     }  
    142. }  

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    ©Copyright 蕃薯耀 2017年7月15日

    http://www.cnblogs.com/fanshuyao/

  • 相关阅读:
    app-授权登录插件配置
    微信公众号-公众号设置-功能设置
    Java变量
    Java数据类型
    计算机存储单元
    Java常量
    k8s
    第一个Java程序
    旋转木马
    tools
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/7181835.html
Copyright © 2020-2023  润新知