Java - 获取资源文件的字符串路径

时间:2012-09-24 17:47:01

标签: java url jar resources path

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

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

但是如何为runnable .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));

我们去;)

2 个答案:

答案 0 :(得分:3)

您可以通过inputStream从文件中获取Class#getResourceAsStream()。例如:

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

public.key个文件保存在同一目录 FooClass.java FooClass.class所在的位置。

答案 1 :(得分:0)

你可以将这些密钥复制到WEB-INF/classes,无论你在哪里加载,都可以打电话

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