前言
Windows环境下调试Java程序,往往会遇到文件加载路径出错的问题,找到合适的API方法处理此问题。
一、文件加载报错情况
问题:Windows环境下调用 “resource.getPath()” 获得的文件绝对路径前面出现“/”,导致文件加载时报错。Linux环境下则是可以正常加载的。
URL resource = getClass().getClassLoader().getResource(filePath);
Path path = Paths.get(resource.getPath()); // Windows下出错的代码段,Linux环境下正常
二、文件加载报错处理
修复问题代码:
URL resource = getClass().getClassLoader().getResource(filePath);
Path path = Paths.get(resource.toURI());// getPath()->toURI() 解决Windows下路径读取问题
注:不要去替换文件路径开头“/”来解决此类问题,需保证代码的兼容性。
总结
Java程序在不同环境下文件加载问题的处理。