当前位置: 首页 > 编程笔记 >

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

齐驰
2023-03-14
本文向大家介绍java下载url路径包含中文需要转义的操作,包括了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路径包含中文需要转义的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我的目录结构如下: script.php inc / include1.php inc / include2.php 对象/ object1.php 对象/ object2.php soap / soap.php 现在,我在和中都使用了这些对象,可以移动它们,但是出于特定的原因,我想要这样的目录结构。当执行包含路径is 和执行它时,绝对路径有效,但是如果我想将目录移动到其他位置,则这是

  • 问题内容: 我尝试使用以下方法安装node.js模块: 但我得到这个错误: 可能正在发生这种情况,因为我使用代理服务器,但我通过这种方式设置了代理服务器,以允许从网络外部的ips下载 我希望你能帮帮我 问题答案: 从命令行设置代理。 如果仍然发生错误,请再试一次。 这些为我工作。(请参阅http://sushichop.blogspot.jp/2013/01/npm- install.html )

  • 问题内容: 我们有一个基于NetBeans平台的NetBeans开发的应用程序。我们有一个运行时依赖的第三方程序,更具体地说是其他progams lib文件夹中的jar。 我们应该如何在类路径中包含其他progam的jar? 其他程序制造商的建议是将环境变量CLASSPATH设置为包括 如果不可能,我们应该将JAR.jar复制到 我们一定不能将JAR.jar复制到其他任何地方,否则可能会导致其停止

  • 我在Eclipse中创建了一个Java项目,并创建了一个带有main方法的简单类。 问题:当我运行程序(没有任何服务器等)时,我收到以下错误: 线程“main”java中出现异常。lang.NoClassDefFoundError:org/apache/commons/codec/DecoderException at autoPEC。main(autoPEC.java:6)由:java引起。la

  • 在创建spring maven rest WebService时,我得到了以下错误。当我使用postman测试OCBC api上的post请求时,它工作得很好。但是当我试图为citi执行post请求时,我得到了以下错误:servlet.service()for servlet[dispatcherServlet]上下文中的path[]抛出异常[request processing Failed;嵌

  • 我使用Exavult提供的文件,成功地从Exavults上的文件夹下载了CSV文件,但下载会保存在Mac上的临时文件夹中。 如何定义要保存到的目录?这是脚本的摘录。 另外还有一个resources_api.py文件,它可能包含答案,但是如果我编辑它,我不确定如何调用这些更改。 任何帮助将不胜感激。