我想访问以获取资源密钥文件的字符串路径。如果我在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));
我们去;)
答案 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)
。