0

我想访问以获取我的资源密钥文件的字符串路径。如果我在 Eclipse 中调试项目,一切都会像魅力一样工作,但如果我将项目导出到可运行的 .jar 文件 - 项目无法访问关键文件,因为路径错误。

PUBLIC_KEY_PATH = "src/resources/public.key";
PRIVATE_KEY_PATH = "src/resources/private.key";

但是如何获得可运行的 .jar 文件的正确路径?我不想获取 URL 或其他任何内容 - 我想获取字符串路径。

我希望有人能帮助我。


解决方案:

public static String PUBLIC_KEY_PATH = "/resources/public.key";
public static String PRIVATE_KEY_PATH = "/resources/private.key";

我正在使用InputStream读取文件内容:

InputStream in = ExampleClass.class.getResourceAsStream(PUBLIC_KEY_PATH);
ObjectInputStream oin = new ObjectInputStream(new BufferedReader(in));

我们走了;)

4

2 回答 2

3

您可以inputStream通过Class#getResourceAsStream(). 例如:

InputStream is = FooClass.class.getResourceAsStream("public.key");

您将public.key文件保存在同一目录中的位置。FooClass.java FooClass.class

于 2012-09-24T17:49:48.917 回答
0

您可以将这些密钥复制到WEB-INF/classes加载这些密钥的任何位置,请致电

this.getClass().getClassloader().getResourceAsStream(fileName).

于 2012-09-24T17:56:58.180 回答