java 读取文件路径空格、“+”和中文的处理
来源:互联网 发布:虚拟机上ubuntu服务器 编辑:程序博客网 时间:2024/05/21 07:05
有时候在java代码中读取文件,如果文件所在路径包含空格、”+“号或者是中文的时候,由于这些特殊的字符会被进行编码转译,所以就会报没有发现文件的错误,那么遇到这种错误,我们就要把编码过后的路径进行解码,这样才能正确的找到文件。主要的解决方法有一下三种方法:
解决方法
1、替换法
比如文件路径如果存在空格,那么会被转译成“%20”,那么就可以利用字符串替换,把“%20”传化成空格,这样就能正确的找到文件了。这是这种如此暴力,低级的处理方法,一般有经验的开发人员都不会采用吧?
2、使用URLDecoder.decode(str,enc)进行解码
如果空格、中文被转译过后,可以使用URLDecoder.decode方法进行解码,但是这种方法对于路径中包含“+”号并不能进行正确解码,因为URLDecoder.decode方法内部如果发现是加号,将会将其转成空格:
3、万能方法,使用toURI().getPath()
toURI()会跟自己的规则对字符串进行编码,然后又能自动解码,所以不用自己去关心这些事情,可以自行看下它的源码。
演示:
web项目部署在一个tomcat中,路径为:”D:\Program Files\java\apache-tomcat-6.0.26”
1、字符串包含空格:
从截图中可以看到,路径存在的空格已经被转成“%20”,如果不对这包含空格的路径进行解码,那么直接读取文件是获取不到的;如果使用了以上第二、第三种方法,则能正确获取到文件。
2、路径中包含“+”
从上图可以看到,如果路径中包含“+”号,那么第二种方法就失效了,但是第三种方法还是有效。所以平时使用最好是使用第三种方法比较好。此外,以上介绍的方法,如果部署在linux下也是适用的。
- java 读取文件路径空格和中文的处理
- java 读取文件路径空格和中文的处理
- java 读取文件路径中空格和中文的处理
- java 读取文件路径空格、“+”和中文的处理
- java 读取文件路径空格和中文的处理
- java 读取文件路径中空格和中文的处理.. this.class.getResource
- Java文件路径空格及中文处理
- Java程序文件路径中有空格的处理
- java 处理文件路径中的空格
- 利用Dom读取和修改XML文件,并处理获取路径中空格(%20)问题
- Python读取中文路径时的处理
- Python读取中文路径时的处理
- Python读取中文路径时的处理
- java Properties 取文件为空或文件路径有空格的简单处理
- Java 文件路径的读取
- Java 文件路径的读取
- java读取properties文件,中文乱码处理
- Java中解决访问地址中包含空格和中文路径的问题
- 折线分割平面
- 如何安装使用多个版本的Python
- ccf 目录格式转换
- 斐波那契
- 【C#串口编程计划】通信协议解析 -- byte[]与常用类型的转换
- java 读取文件路径空格、“+”和中文的处理
- 14. Longest Common Prefix
- node.js中express模块使用的疑难问题解决
- C++数组指针与指针数组
- 初学时关于C++库的疑问
- B1016. 部分A+B (15)
- No.4_2 OpenCL 编译链接(二)
- POJ 1094 Sorting It All Out (拓扑排序)
- 【java】header中的Content-Dispositon的作用