我目前正在尝试获取名为“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()更简单的方法......?
提前致谢。
答案 0 :(得分:1)
您获得的是编码网址。
你需要的是解码它
URLDecoder.decode(url, "UTF-8");