我目前正在尝试获取当前名为“WordBase”的 java 类的路径。我正在使用以下代码。
final File f = new
File(WordBase.class.getProtectionDomain().getCodeSource().getLocation().getPath());
System.out.println(f);
这给了我以下输出:
C:\Users\Rasmus%20J\wordbase\out\production\wordbase
这是不正确的。正确的是:
C:\Users\Rasmus J\wordbase\out\production\wordbase
有什么方法可以清理并获得正确的输出吗?我希望代码能够在不同路径的所有不同类型的计算机上运行。也许有比使用 class.getProtectionDomain() 更简单的方法...?
提前致谢。
最佳答案
你得到的是编码后的URL。
你需要的是解码它
URLDecoder.decode(url, "UTF-8");
关于java - 查找特定java类的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22718070/