我目前正在尝试获取当前Java类“ WordBase”的路径。我正在使用以下代码。
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/