经常会从其他文件浏览器打开,文件路径中可能会含有中文字符,这时直接用路径打开中文会变为乱码导致出现FileNotFoundException,不能达到本来目的,这时需要对路径进行解码,在网上搜到的方法大多不能用,经验证,正确的方法应该是,下面给出完整的一段代码:
String filePath = "";
File f = new File(filePath);
if(f.exists()){
//正常逻辑代码
doSomeThing(filePath);
}else{//有可能是路径中含有中午,对路径进行解码
filePath = URLDecoder.decode(filePath,"UTF-8"); //因为Linux编码为utf-8,这样以后可以得到正确的路径
doSomeThing(filePath);
}