我在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”)
但是空了..
让我知道哪些步骤有误?
答案 0 :(得分:3)
getClass().getResourceAsStream(name)
在与调用此方法的类相同的目录中搜索资源。
例如,您在同一目录中有A
和资源test.txt
,而您调用getClass().getResourceAsStream("test.txt")
。如果它位于某个子目录中,则需要在name
:getClass().getResourceAsStream("subdir/test.txt")
中表达。
我没有对此进行过测试,但是应该可以使用getClass().getResourceAsStream("../test.txt")
来查看当前的目录。
答案 1 :(得分:3)
查看this article,getClass().getResourceAsStream("/test.txt")
会有所作为吗?