在java中有时获取文件路径,获取的路径中存在中文或者是空格的时候,路径出现乱码。这个问题困扰了我好久,用过各种的转码都无济于事。在后来终于解决了,在这里和大家分享一下,其实也就是加一行代码的问题。
我在项目的是使用
1
|
string path = this .getclass().getclassloader().getresource( "/" ).getpath().substring( 1 );
|
这样来获得当前类的文件路径的。但是这样得到的是乱码。后来经过跟踪 在this.getclass().getclassloader()返回的url这里的路径还是没错的。只是后面有问题。所以转码的话应该是要转url.所以在后面添加了这样一行代码。
1
|
path = java.net.urldecoder.decode(path, "utf-8" );
|
这样做获得的路径就没问题了。
呵呵 此问题解决!
1
2
3
|
string path = this .getclass().getclassloader().getresource( "/" ).getpath().substring( 1 );
path = java.net.urldecoder.decode(path, "utf-8" );
|
以上这篇完美解决java获取文件路径出现乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/yss_luowei/article/details/3082224