如何从服务层访问我的 webapp/resources 文件夹的内容?我需要访问一个用于 Elasticsearch 映射的 JSON 文件...
我的项目结构是这样的: https://www.dropbox.com/s/crdzae1ko0x9p89/Screenshot%202015-05-25%2010.24.12.png?dl=0
我试过这个: http://www.mkyong.com/java/java-read-a-file-from-resources-folder/
String mapping = String.format("es_mappings/%s.json", type);
ClassLoader classLoader = getClass().getClassLoader();
String result = IOUtils.toString(classLoader.getResourceAsStream(mapping));
但是我在上面的代码片段的第三行得到了一个空指针异常。
也试过这个:
File file = ResourceUtils.getFile("classpath:es_mappings/bom_exports.json")
String txt= FileUtils.readFileToString(file);
但我收到此错误:java.io.FileNotFoundException:类路径资源 [es_mappings/bom_exports.json] 无法解析为绝对文件路径,因为它不在文件系统中。
我的 -servlet.xml 文件中有这个:
<mvc:resources location="/resources/" mapping="/resources/**"/>
谢谢。
最佳答案
我使用这段代码。它简单且有效。
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
// ...
@Value("/resources/json/your_file.json")
private Resource jsonResource;
// ...
InputStream jsonStream = jsonResource.getInputStream();
现在可以使用stream读取json了。
关于java - Spring:如何在服务层访问webapp/resources的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30431025/