如何从jar添加和读取资源文件

时间:2011-03-29 00:44:06

标签: java jar maven

我在java程序读取的路径中有hibernate.cfg.xml和test.txt。现在,当我使用maven创建jar时,那些文件不存在。所以我读到我应该放入资源文件夹,所以现在我的目录结构是

  

scr - > main->的java

        ->resources

现在我可以看到jar中的文件,但它们不在资源文件夹中 它基本上是

  

myjar.jar - > com(源代码)

       -> META -INF
       -> hibernate.cfg.xml
       -> test.txt

我尝试使用

进行访问

getClass()。getResourceAsStream(“test.txt”)

但是空了..

让我知道哪些步骤有误?

2 个答案:

答案 0 :(得分:3)

getClass().getResourceAsStream(name)在与调用此方法的类相同的目录中搜索资源。

例如,您在同一目录中有A和资源test.txt,而您调用getClass().getResourceAsStream("test.txt")。如果它位于某个子目录中,则需要在namegetClass().getResourceAsStream("subdir/test.txt")中表达。

我没有对此进行过测试,但是应该可以使用getClass().getResourceAsStream("../test.txt")来查看当前的目录。

答案 1 :(得分:3)

查看this articlegetClass().getResourceAsStream("/test.txt")会有所作为吗?