this.getClass().getResource(“/”).getPath()使用者方法查看文件在服务器上的地址,但是地址中的空格会被转化为%20. 解决办法1: URI uri = new URI(url.toString()); FileInputStream fis = new FileInputStream(uri.getPath()); 解决办法2: 使用其他方法获取文件在服务器上的地址. ClassLoader.getResourceAsStream ("some/pkg/re…
方法(1),使用repaceAll("%20",' ')替换后,只能解决空格问题.但是路径中包含%和中文就不行了. 方法(2),使用URLDecoder.decode(str,"UTF-8")解码,但是只能解决一部分,若路径中含有+,也是不能解决的,原因是URL并不是完全用  URLEncoder.encode(str,"UTF-8")编码的,+号被解码后,却变成了空格.方法(3),可以解决所有的问题,用TestURL().class.getRe…
写了一个web工程,在本地测试正确,但是部署到服务器上就出现错误.原因是读取不到配置文件. 后来从打印出来的文件路径中发现是用Java的class.getResource("/").getPath()获取路径的时候,路径中的空格转换成了%20. 在网上查询相关信息,果然将空格转成%20是一个古老的bug,我特意借此记录一下,希望能帮到遇到同样问题的朋友. Bug ID: 4466485 getClass( ).getResource( ).getFile( ) returns file…
java获取classpath文件路径空格转变成了转义字符%20的问题 这个问题很纠结,服务器的文件路径带有空格,空格被转化是%20了,悲剧就出现了 下面展示一段代码String path = getClass().getResource("/").getPath();或String path = getClass().getClassLoader.getResource("").getPath();  如果当前路径中包含了空格,则返回的路径字符串空格则被转义为(%…
应用部署时,发生文件读取错误,发现是部署路径中含有空格的文件夹名,然后把应用服务器位置迁移了. 从网上找到如下方案:1, TestURL().class.getResource("").getPath()或TestURL().class.getResource("").getFile()获得的路径,不能被FileReader()和FileWriter()直接应用. 原因是URL对空格,特殊字符(%,#,[]等)和中文进行了编码处理. 例如:空格变为%20. 有解决方…
在java中获取文件路径的时候,有时候会获取到空格,但是在中文编码环境下,空格会变成“%20”从而使得路径错误. 解决办法: String path = Parameter.class.getResource("").getPath();//得到路径 path = URLDecoder.decode(path,"utf-8");//关键啊 !…
程序中配置文件如果放置在classes文件夹,那么我们就可以使用Class类的getResource().getPath()方法获取文件路径. 例如: String path = DBUtil.class.getResource("/db.properties").getPath(); 值得注意的文件是,如果发布程序的web容器(tomcat)安装的路径中存在空格 D:\Program Files\Apache Software Foundation\Tomcat 8.5 该方法将会得…
自从转投Java阵营后,一直发下Java程序的路径读取异常麻烦,因此查阅了比较多的版本内容,整合了一份自己的学习笔记.主要使用Class及通过ClassLoader来动态获取文件路径. 查阅链接如下: Class及ClassLoader下获取Resource原理                               Class及ClassLoader下获取Resource图文解析 首先,在IDE下面写的.java文件最终会被编译成一个.class的类.上面两种方法去读取文件都是基于.cla…
一 getResource 用JAVA获取文件,听似简单,但对于很多像我这样的新人来说,还是掌握颇浅,用起来感觉颇深,大常最经常用的,就是用JAVA的File类,如要取得c:/test.txt文件,就会这样用File file = new File("c:/test.txt");这样用有什么问题,相信大家都知道,就是路径硬编码,对于JAVA精神来说,应用应该一次成型,到处可用,并且从现实应用来讲,最终生成的应用也会部署到Windows外的操作系统中,对于linux来说,在应用中用了c:…
自从转投Java阵营后,一直发下Java程序的路径读取异常麻烦,因此查阅了比较多的版本内容,整合了一份自己的学习笔记.主要使用Class及通过ClassLoader来动态获取文件路径. 查阅链接如下: Class及ClassLoader下获取Resource原理                               Class及ClassLoader下获取Resource图文解析 首先,在IDE下面写的.java文件最终会被编译成一个.class的类.上面两种方法去读取文件都是基于.cla…