此文仅对自己工作中用到的类进行总结,方便以后的使用。

package com.cn.hnust.util;import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
/*** url转码、解码** @author* @date */
public class UrlUtil {private final static String ENCODE = "GBK"; /*** URL 解码** @return String* @author lifq* @date 2015-3-17 下午04:09:51*/public static String getURLDecoderString(String str) {String result = "";if (null == str) {return "";}try {result = java.net.URLDecoder.decode(str, ENCODE);} catch (UnsupportedEncodingException e) {e.printStackTrace();}return result;}/*** URL 转码** @return String* @author lifq* @date 2015-3-17 下午04:10:28*/public static String getURLEncoderString(String str) {String result = "";if (null == str) {return "";}try {result = java.net.URLEncoder.encode(str, ENCODE);} catch (UnsupportedEncodingException e) {e.printStackTrace();}return result;}/**  * 正则替换  * @param url  * @param name  * @param value  * @return  */  public static String replaceUrlParameterReg(String url, String name, String value) {  if (StringUtils.isNotBlank(url) && StringUtils.isNotBlank(value)) {  url = url.replaceAll("(" + name + "=[^&]*)", name + "=" + value);  }  return url;  }  /**  * 正则替换  * @param url  * @param name  * @param value  * @return  */  public static String getUrlParameterReg(String url, String name) {Map<String, String> mapRequest = new HashMap<String, String>();String[] arrSplit=null;String strUrlParam=TruncateUrlPage(url);if(strUrlParam==null){return "";}//每个键值为一组 www.2cto.comarrSplit=strUrlParam.split("[&]");for(String strSplit:arrSplit){String[] arrSplitEqual=null;         arrSplitEqual= strSplit.split("[=]");//解析出键值if(arrSplitEqual.length>1){//正确解析mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);}else{if(arrSplitEqual[0]!=""){//只有参数没有值,不加入mapRequest.put(arrSplitEqual[0], "");       }}}   return mapRequest.get(name);  }  /*** 去掉url中的路径,留下请求参数部分* @param strURL url地址* @return url请求参数部分*/private static String TruncateUrlPage(String strURL){String strAllParam=null;String[] arrSplit=null;strURL=strURL.trim().toLowerCase();arrSplit=strURL.split("[?]");if(strURL.length()>1){if(arrSplit.length>1){if(arrSplit[1]!=null){strAllParam=arrSplit[1];}}}return strAllParam;   }public static void main(String[] args) {String str ="/activePage?wxto=0C29975119DE037B4F25CD119CF4CF11&activity2018topid=oz9Zj07Jg5O9IfAyVauT-GL-CSfM&activity2018topunid=o-NUA0l8fxm2_5fmK_ocpyxrP1dE&subscribe=0&timestamp=1516008942920&-NUA0l8fxm2_5fmK_ocpyxrP1dE&oaccesstoken=5_xJYY3gnUTD4pqJFc7_ltbvclb0ZRKOFBEc5BXAwi7vjZndRAN58AkPazqUJDGzBbrw-J1ag1PF0C-S39SqJflA&m=1&wxt=C9A58DA3804E46981BF4B78C8C862743&-NUA0oHjJjCcyGe-wJdEFYjwrfU&-NUA0oHjJjCcyGe-wJdEFYjwrfU&-NUA0oHjJjCcyGe-wJdEFYjwrfU";String m = "9j70Dj%2BpVA64qK9%2FeOjsg2dP3biHh6imIC6WFXtIRcR6nHwDkjHPNOL9zUi7fmpcbgJP3u%2Bh3VUTfDO0B2fsbKWsizlqOKdXJovkg3HZMTxAIcByvYvtHoCyd9iOgUxoDqslzoMunvnEzPS8FbYc%2Fjkd4y47zhKk%2FUTE4GGm8ZM5Ns5eYwZSFL7A8pX0U%2BXfsMR%2FGf5z2pci6a5BJaki4e0z0Pmh5sPsjytmKdjdssHQ98iZ8ge3mXJm7G%2FaSJ3e%2FHvNENLv0JRJf7q1bFu180RZEtsMRs%2BWdesTuJamtJBYtLxQEYaCMygRcmd%2F1VdSqfLnuZqcZAzT6GAmvBwZyfzCK9LffGsyZGWce%2B0g2R%2FTCKTTtNpWWCJb0e7Gs0g82DmBNV4jh3hrOAmeLNwpu0M%2B049%2FHrDxAZPvXowCb5OLb7if%2BVqBpYkphGssurkqLV2KTXx3vhjl9vIiMQnD4397oNYf81P%2BBWFPBFhPQSfGaxZGZbAlPgkluR4%2Fj75f9SeZlcWFMnl%2BYKYtopw1gw%3D%3D";System.out.println(getURLEncoderString(m));System.out.println(getURLDecoderString(m));//System.out.println( getUrlParameterReg(str,"wxto"));}
}

Java实用工具类五:URL转码、解码类相关推荐

  1. Java实用工具类-将汉字转为拼音

    1. 导入对应的jar包 <dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j ...

  2. java实用工具类——java处理对象转json工具类

    一.引言 json字符串现在是项目中很常用的了,尤其是在写接口返回数据一般都是json格式的.小编最近在看项目中,发现有多处地方用到了java对象转json,但是引用的jar包都是不统一的. 常见的有 ...

  3. 常用的16个Java实用工具类,Java开发人员请收藏!

    在Java中,实用程序类是一个定义一组执行常用功能的方法的类.这篇文章展示了最常用的Java实用程序类及其最常用的方法.类列表及其方法列表都按流行度排序.该数据基于GitHub随机选择的50,000个 ...

  4. JAVA实用工具类-GPS,高德,百度坐标相互转换

    经过本人实际验证,此工具类的转换方法靠谱,所以拿出来给大家分享. 验证方式有二: 1,通过此工具类转换的坐标和调百度高德地图转换后的坐标,进行对比,误差在小数点后四到五位才出现. 2,把用此工具类转换 ...

  5. java实用工具 根据指定的类名查找jar包

    日常调试开发Java应用程序时经常会遇到一个问题: 依赖库缺失或多了多余的依赖,或者版本不对的错误. 如何快速定位这种问题呢? 这个需要一个有力的工具来解决这个问题. findjar 可以根据类名,在 ...

  6. 编写java实用工具-针对未压缩的pdf转word,(java实现),压缩过的pdf勿进

    压缩过的pdf勿进! 压缩过的pdf勿进! 压缩过的pdf勿进! 重要的事情说三遍. 主要是提供两种解决办法 第一种:转成同级目录word 第二种:直接console打印 java的好处之一就是取之不 ...

  7. JAVA中url的特殊字符处理及url转码解码

    在url中 , 只能使用url合法的字符 . 如果使用了非法字符来访问某资源(如:+#等) , 就会导致资源访问异常或失败 . 同时原生url中也是不支持中文的 , 以百度为例 , 当你搜索了中文关键 ...

  8. java实用教程第五版电子书,爱了爱了

    如何才可以进大厂? 答案其实也很简单,能力+学历.不知道大家有没有发现,大厂的一些部门对于学历要求已经放低了,阿里的一些部门同样也招大专学历的程序员,当然肯定也是因为他的能力足够出色. 对于准备秋招的 ...

  9. boost实用工具:创建一个禁止复制的类 noncopyable

    boost的noncopyable允许创建一个禁止复制的类,使用很简单,但很好用! C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

最新文章

  1. 965. Univalued Binary Tree
  2. 数学建模学习笔记——灰色关联分析(评价类)
  3. 我爱的人,你知道我一直在
  4. 为什么每个线程都需要创建一个栈?
  5. 004-linux常用命令-权限管理命令
  6. Jquery一些常用的方法
  7. Java:用Lambda表达式简化代码一例
  8. stm32f4串口烧录[flymcu]
  9. PMP备考资料整理、模拟试题、章节练习
  10. 数学建模18年美赛题目中英文
  11. Unity Gyro之使用陀螺仪实现简单VR全景环视效果
  12. 入行这么久? 真正理解了缓存吗
  13. HR_NZ_ROUNDING_DECIMALS DUMP
  14. 使用批处理解决U盘内出现的同名文件夹EXE病毒问题
  15. 五、JDBC(复习)
  16. C++基础知识 - 多重继承的二义性问题
  17. 【JAVA】对接苹果授权登录流程
  18. 转载 冯羽的程序生涯之我见
  19. 什么是用户故事地图?
  20. 无忌炼神功(热身层 )———— 初识JVM

热门文章

  1. 一致性检查的具体含义是什么
  2. camera 之 openCamera
  3. Java中创建线程的三种方式
  4. c++ zlib 7z解压缩
  5. icode编程图形化|一级训练场|基础训练1
  6. CAN FD总线详细介绍
  7. Asp.net Core 配合 PDFObject 和 pdf.js 在浏览器显示pdf文件
  8. I/O设备的概念和分类、I/O控制器及其I/O控制方式
  9. 南京邮电大学物理实验模拟试卷
  10. Hadoop中的MapReduce框架原理、数据清洗(ETL)、MapReduce开发总结、常见错误及解决方案