java下载url路径包含中文需要转义的操作

 更新时间:2020年12月04日 09:32:45   作者:愿你活成你喜欢的模样  
这篇文章主要介绍了java下载url路径包含中文需要转义的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

大家看这个url:

http://127.0.0.1:9997/file/江苏省地震应急预案(二级).docx

应为url路径中有中文没有转义,输入流报错

The valid characters are defined in RFC 7230 and RFC 398

下面我们对中文路径进行截取转义

  int lastIndexOf = downloadUrl.lastIndexOf('/');
    String fileName = downloadUrl.substring(lastIndexOf + 1);
    // 转义关键代码
    String newFileName = URLEncoder.encode(fileName, "utf-8");
    String subUrl = downloadUrl.substring(0,lastIndexOf + 1);
    String newUrl = subUrl + newFileName;

    URL url = new URL(newUrl);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();

补充知识:Java中URL传递中文字符成乱码,及参数转义符转换

页面使用此函数

function URLencode(sStr) 
  {
   return escape(sStr).
        replace(/\+/g, '%2B').
         replace(/\"/g,'%22').
           replace(/\'/g, '%27').
            replace(/\//g,'%2F');
  }

处理一下url 要传的参数,这样就可以传到后台想要的特殊字符了

以上这篇java下载url路径包含中文需要转义的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MyBatis中XML映射器的实现

    MyBatis中XML映射器的实现

    MyBatis的真正强大在于它的语句映射,映射器的XML文件就显得相对简单,本文主要介绍了MyBatis中XML映射器的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Java 中ConcurrentHashMap的实现

    Java 中ConcurrentHashMap的实现

    本文主要介绍Java 中ConcurrentHashMap的实现,这里整理了详细的资料,及简单实例代码,有兴趣的小伙伴可以参考下
    2016-09-09
  • springboot整合quartz定时任务框架的完整步骤

    springboot整合quartz定时任务框架的完整步骤

    在做项目时有时候会有定时器任务的功能,比如某某时间应该做什么,多少秒应该怎么样之类的,下面这篇文章主要给大家介绍了关于springboot整合quartz定时任务框架的相关资料,需要的朋友可以参考下
    2022-01-01
  • Spring boot 实现单个或批量文件上传功能

    Spring boot 实现单个或批量文件上传功能

    这篇文章主要介绍了Spring boot 实现单个或批量文件上传功能,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-08-08
  • Java数字和字符串拼接原理及案例

    Java数字和字符串拼接原理及案例

    这篇文章主要介绍了Java数字和字符串拼接原理及案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • java 中 poi解析Excel文件版本问题解决办法

    java 中 poi解析Excel文件版本问题解决办法

    这篇文章主要介绍了java 中 poi解析Excel文件版本问题解决办法的相关资料,需要的朋友可以参考下
    2017-08-08
  • springboot dynamic多数据源demo以及常见切换、事务的问题

    springboot dynamic多数据源demo以及常见切换、事务的问题

    这篇文章主要介绍了springboot dynamic多数据源demo以及常见切换、事务的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 自定义的Troop<T>泛型类( c++, java和c#)的实现代码

    自定义的Troop<T>泛型类( c++, java和c#)的实现代码

    这篇文章主要介绍了自定义的Troop<T>泛型类( c++, java和c#)的实现代码的相关资料,需要的朋友可以参考下
    2017-05-05
  • Java8使用stream查找重复元素的方法示例

    Java8使用stream查找重复元素的方法示例

    Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的Lambda ,给我们操作集合(Collection)提供了极大的便利,Stream流是JDK8新增的成员,本文给大家介绍了Java8使用stream查找重复元素的方法示例,需要的朋友可以参考下
    2024-04-04
  • SSM框架中entity mapper dao service controller层的使用

    SSM框架中entity mapper dao service controll

    这篇文章主要介绍了SSM框架中entity mapper dao service controller层的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论