基本概念

URL(Uniform Resource Locator,统一资源定位符):WWW的统一资源定位标志,即网络地址。

URI((Uniform Resource Identifier,统一资源标志符):表示的是web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行定位的。

URL与URI区别: https://blog.csdn.net/qq_32595453/article/details/80563142

问题描述

String path = getClass().getResource("/").getPath();

String path = getClass().getClassLoader.getResource("").getPath();  

如果当前路径中包含了空格,则返回的路径字符串空格则被转义为(%20)

问题分析

URL对空格,特殊字符(%,#,[]等)和中文进行了编码处理。

在中文编码环境下,空格会变成“%20”从而使得路径错误.

解决方案

方法一

使用repaceAll("%20",' ')替换

针对性解决方案,不通用所有情况,例如:路径中包含%和中文。

方法二

String path = getClass().getResource("/").toURI().getPath();

String path = getClass().getClassLoader.getResource("").toURI().getPath(); 

需要处理URISyntaxException异常

方法三

String path = Parameter.class.getResource("").getPath();//得到路径
path = URLDecoder.decode(path,"utf-8");//关键啊 !

只能解决一部分,若路径中含有+,也是不能解决的

原因:URL并不是完全用URLEncoder.encode(str,"UTF-8")编码的,+号被解码后,却变成了空格。

参考文章

https://www.cnblogs.com/runerering/p/6042828.html

https://www.cnblogs.com/vincentDr/p/4526856.html

https://blog.csdn.net/hikvision_java_gyh/article/details/44655447

JAVA——获取classpath文件路径空格转变成了转义字符(%20)的问题解决方案相关推荐

  1. JAVA获取Classpath根路径的方法

    方法一: String path = Test.class.getResource("/").toString(); System.out.println("path = ...

  2. java 获取ftp 文件路径_java在浏览器上获取FTP读文件路径

    展开全部 问一下,你是62616964757a686964616fe4b893e5b19e31333337623437想做ftp上传下载么? 首先你需要安装一个ftp服务端程序,启动起来,然后下载一个 ...

  3. java读取空格_java 读取文件路径空格和中文的处理

    应用部署时,发生文件读取错误,发现是部署路径中含有空格的文件夹名,然后把应用服务器位置迁移了. 从网上找到如下方案: 1, TestURL().class.getResource("&quo ...

  4. java 取classpath_(转)Java获取CLASSPATH路径

    ClassLoader提供了两个方法用于从装载的类路径中取得资源: public URL getResource(String name); public InputStream getResourc ...

  5. java 获取classpath下文件多种方式

    java 获取classpath下文件多种方式 一:properties下配置 在resources下定义server.properties register.jks.path=classpath\: ...

  6. Java的class文件批量反编译成Java文件

    Java的class文件批量反编译成java文件 Class文件是java文件编译后产生的一个文件,class文件便于在软件上运行,但是我们无法阅读中间的程序,所以我们需要将class文件转换成jav ...

  7. java获取Pdf文件页码

    java获取Pdf文件页码步骤如下: 引入依赖: <dependency><groupId>org.apache.pdfbox</groupId><artif ...

  8. java 上传mp3文件大小,Java获取音频文件(MP3)的播放时长

    最近的一个项目需要按照时间播放mp3文件,例如,播放10分钟的不同音乐. 这就意味着我得事先知道mp3文件的播放时长,以决定播放几遍这个文件. 方案一:Java的方式 找第三方的库,真的感谢这些提供j ...

  9. ubuntu18.04.4 获取当前文件路径

    ubuntu18.04.4 获取当前文件路径 打开文件夹 右键–>在终端打开 pwd 复制上面地址

最新文章

  1. 什么是php model类,thinkphp的自定义model类有什么作用?
  2. Python字符串居然可以这样玩 到底怎么做到的 年薪50w程序员揭晓
  3. IBM:破解密码并不是量子计算机主要用途,不必为此担心
  4. ogg源端mysql添加trandata_OGG_GoldenGate日常维护(案例)
  5. 音视频同步系列文章之------时间戳与时间尺度(time scale)
  6. 给easyui datagrid 添加mouseover和mouseout事件
  7. 前端学习(2237):react实现疫情数据
  8. java 做ui_【原创】JavaApplication的UI也可以做的很美
  9. 张文宏:知道很多网友批评我,但粥还是不能喝
  10. 纪念一个曾经的产品(目录)
  11. 大话云上“分布式实践”,理解 B、A、C 并不难!
  12. [翻译] InstagramPhotoPicker
  13. poj 3630 简单Trie树的应用
  14. js特效之上下翻页相册效果
  15. PHP大数加千分位符_php 千分位截取数字 number_format()函数
  16. 利用matlab实现卷积实验报告,matlab卷积实验报告.docx
  17. Yasm入门-hello world
  18. java基础知识(七)-- 泛型(Generics )
  19. 集群并行效率测试软件,并行集群系统的Linpack性能测试分析
  20. 本科毕业论文的引言怎么写?

热门文章

  1. tf dense layer两种创建方式的对比和numpy实现
  2. c语言中的数字菱形,打印数字菱形,急啊,帮帮小女子啊。。。
  3. 苹果手机还原网络设置会怎样_装维技巧|手机能连wifi但网不通?
  4. 两个主机mtu不相同_案例详解:MTU不一致导致主机和RAC不断重启
  5. 四十六、和我一起看看,国外的Python考试到底是怎么样(下篇)
  6. 十三、写了两年多Python文章的我,带你走进Python数据分析
  7. scipy和statsmodels处理回归
  8. pytorch 常用层(四)
  9. No module named '__main__.demo1'; '__main__' is not a package
  10. 黑马Python + 人工智能学习笔记