我的.tpl文件在 src 的包中包含一些静态内容。
例如src/A/B/C/test.tpl
我试图从一个兄弟那个文件(src/A/B/C/Test
)中读取它。
我无论如何都找不到它! FileReader抛出FileNotFoundException。
解决方案: Class.getResource()有效。问题是关于tpl扩展,默认情况下不会编译。 IDE已设置添加扩展以进行编译。我使用.html而不是更新编译器设置。
Test.class.getResource("/A/B/C/test.html").getPath().replace("%20", " ")
答案 0 :(得分:3)
您应该使用ClassLoader.html#getResourceAsStream
getClassloader().getResourceAsStream(resourcePath);
答案 1 :(得分:0)
如何将文件移动到src / main / resources然后尝试类似 -
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/test.tpl");
try {
context.getClassLoader().getResourceAsStream("test.tpl");
...
}
catch (IOException ex) {
ex.printStackTrace();
}