【发布时间】:2010-10-30 19:35:53
【问题描述】:
我正在尝试获取资源的路径,但我没有运气。
这有效(在 IDE 和 JAR 中),但这样我无法获得文件的路径,只有文件内容:
ClassLoader classLoader = getClass().getClassLoader();
PrintInputStream(classLoader.getResourceAsStream("config/netclient.p"));
如果我这样做:
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("config/netclient.p").getFile());
结果是:
java.io.FileNotFoundException: file:/path/to/jarfile/bot.jar!/config/netclient.p (No such file or directory)
有没有办法获取资源文件的路径?
【问题讨论】:
-
是的。我有一个我想同时使用的类,一个位于外部的文件夹(以防我想更改配置文件的某些参数)和一个将实现配置文件隐藏给用户的 JAR(如可分发的JAR 给所有人)。
-
所以这个类只接收到一个文件(配置文件)的路径。
-
那么您可能应该让该类处理输入流,您可以从任一来源获得。
-
是的,我知道。但如果换一种方式,它会更加清晰和干净。但无论如何,谢谢。
-
您是否尝试在此问题中执行类似于选项 #4 的操作? stackoverflow.com/questions/775389/…