我目前正在尝试获取当前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/

10-10 11:53