我在访问导入到Lotus Notes Java Agent(内容部分)的资源部分的文件时遇到问题。
我正在尝试下面的代码
getClass().getClassLoader().getResource("gift.png").getPath()
但每次都会返回null
此资源位于Res / gift.png内(Res是Lotus Java Agent中的文件夹)
我也试过
InputStream is = JavaAgent.class.getClassLoader().getResourceAsStream("gift.png");
这也会返回null ......
我在Lotus java代理上找不到太多来源,所以尝试了一些常规的java代码。有没有人遇到类似的问题。或者它们是在Lotus Java Agent中访问资源文件的其他方法或方法
答案 0 :(得分:3)
您可能希望:
1)不使用JavaAgent,而是使用您在代理中使用的自己的类之一
2)使用this.getClass().getResourceAsStream("/gift.png");
3)即使在Windows上也是如此。
4)您需要以/开头,以确保从代理根开始
心连心
:-) stw
更新:" /"等效于src(或编译的bin)文件夹,但res文件夹被复制到已编译代理的根目录中。所以切掉了/ res部分。另外,在src文件夹中创建自己的文件夹。最简单的方法是打开代理进行编辑,然后在此临时项目中使用导航器。
答案 1 :(得分:1)
我刚刚尝试制作一个快速测试代理,其中包含一个名为" email.html"的导入资源。在JavaAgent主类中的NotesMain()内部,我能够这样做来阅读内容,所以这可能是要走的路:
InputStream res = this.getClass().getResourceAsStream("/email.html");
所以结果是:显然没有" res"完全有点。
答案 2 :(得分:0)