UrlUtils工具类,Java URL工具类,Java URL链接工具类
UrlUtils工具类,Java URL工具类,Java URL链接工具类
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月15日
http://www.cnblogs.com/fanshuyao/
- 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";
- /*List<String> params = new ArrayList<String>();
- params.add("aa");
- System.out.println("d="+removeParams(d, params));
- params.add("bb");
- System.out.println("e="+removeParams(e, params));
- params.add("cc");
- System.out.println("f="+removeParams(f, params));
- params.add("dd");
- System.out.println("g="+removeParams(g, params));*/
- System.out.println("g="+removeParams(g, "cc","aa"));
- }
- }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
©Copyright 蕃薯耀 2017年7月15日
http://www.cnblogs.com/fanshuyao/
转载于:https://www.cnblogs.com/fanshuyao/p/7181835.html
UrlUtils工具类,Java URL工具类,Java URL链接工具类相关推荐
- java url类下载_Java根据url下载图片或文件的工具类-Fun言
package cn.funyan.utils; import java.io.FileOutputStream; import java.io.IOException; import java.io ...
- java qlv转mp4 代码_Java实用工具类五:URL转码、解码类
package com.cn.hnust.util; import java.io.UnsupportedEncodingException; import java.util.HashMap; im ...
- java 图形校验_java图形验证码生成工具类 web页面校验验证码
java图形验证码生成工具类 web页面校验验证码 发布于 2020-7-14| 复制链接 摘记: 最近做验证码,参考网上案例,发现有不少问题,特意进行了修改和完善.验证码生成器: ```java i ...
- java properties文件 安全_java 数据库读取工具类(读取config.properties配置文件)[包含线程安全] | 学步园...
java 数据库读取工具类(读取config.properties配置文件)[包含线程安全] 数据库读取工具类 package com.db; import java.sql.Connection; ...
- Java - HuTool 使用 EscapeUtil、XmlUtil等工具类(四)
Java - HuTool 使用 EscapeUtil.XmlUtil等工具类(四) 本篇主要介绍 HuTool工具, 其是 java工具类,对于一些静态方法进行封装,虽然很小,但很全,里面拥有平时我 ...
- java 手机号脱敏,身份证号脱敏 工具类
java 手机号脱敏,身份证号脱敏 工具类 import org.apache.commons.lang3.StringUtils;/*** * @title: 脱敏工具类* @author: wll ...
- java 等额本金等额本息工具类
2019独角兽企业重金招聘Python工程师标准>>> 等额本息: /*** Description:等额本息工具类* Copyright: Copyright (corporati ...
- java 解压缩 工具类_Java实现的zip压缩及解压缩工具类示例
本文实例讲述了Java实现的zip压缩及解压缩工具类.分享给大家供大家参考,具体如下: import java.io.BufferedInputStream; import java.io.Buffe ...
- Android+Java中使用Aes对称加密的工具类与使用
场景 Android+Java中使用RSA加密实现接口调用时的校验功能: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/11146 ...
最新文章
- html div 隐藏滚动条样式,div滚动条样式隐藏与显示
- 基于堆栈的虚拟机实现
- STM32 F101系列的程序怎么转化为STM F103出现编译错误!
- 第七章:XAML vs. code(3)
- SQL Server2012 安装方法
- 为什么我们仍然坚持用C++做游戏服务器
- Data Binding 使用教程一
- ubuntu之解决安装python3.6.4后出现error while loading shared libraries: libpython3.6m.so.1.0的问题
- matlab中找不到指定的模块,Matlab装好后启动提示找不到指定模块如何解决?很急...
- Clickhouse 实现row_number、dense_rank
- 基于STM32的DMX512开发
- phpstudy的安装及pikachu渗透平台的搭建
- LaTeX模板 - FORMCM
- 如何删除iPhone或iPad上的所有照片
- MYSQL报1265和1366错误
- 使用scikit-image feature计算图像特征与常见特征示例
- 荐9个可以帮助你的公众号
- DeepLearning-500-questions
- 五金模具展开图绘制方法与技巧
- InTouch与Kepware OPC server通讯配置