我在做一个动态的 web 项目,我想加载一个资源文件。
我这样做了:
String queryTemplate = IOUtils.toString(this.getClass().getResource(
"test.rq"));
test.rq
存在于 src/main/resources
中,但我在该行上得到了空指针。
我想也许 src/main/resources 不是 maven 中的主要(默认)资源文件夹,所以我把它放在 pom 中
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
但后来我的 asp 页面停止工作(我不知道为什么),所以我认为有一种方法可以从 src/main/resources
获取资源而不更改 pom
最佳答案
使用这个:
InputStream testIn = getClass().getResourceAsStream("/test.rq");
String queryTemplate = IOUtils.toString(testIn);
IOUtils.toString()
似乎将 InputStream
作为输入,所以我使用了 getResourceAsStream()
。
我对空指针的猜测是您需要引用类路径的根目录才能访问资源文件,因此我使用了 /test.rq
,其中斜线表示根目录。
关于java - Web应用程序java从文件加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36130122/