【发布时间】:2018-03-03 07:50:47
【问题描述】:
我正在使用没有web.xml 的 JAVA 8、Servlet 3.1 和 springMVC。我在src\main\resources\data 中放置了一个info.json 文件。有一个 util 类,我试图从中读取文件。无论我给出什么路径都无法阅读它。我得到以下异常:
java.nio.file.NoSuchFileException: WEB-INF\classes\data\info.json 在 sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79) 在 sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
我正在尝试读取如下文件:
public static <T> T unMarshal(String json, Class<T> clazz) throws IOException, URISyntaxException {
byte[] jsonData = Files.readAllBytes(Paths.get("WEB-INF\\classes\\data\\info.json"));
return objectMapper.readValue(jsonData, clazz);
}
也尝试过像
这样的路径C:\\domain\\src\\main\\resources\\data\\info.json
src\\main\\resources\\data\\info.json
data\\info.json
我尝试了不同的路径,也尝试了完全限定的路径,但仍然无法读取它。还尝试了File path to resource in our war/WEB-INF folder?,但无法获取上下文实例。请建议。
【问题讨论】:
-
您的资源是您的 jar 或 war 文件的条目。它不是文件系统上的文件。 WEB-INF/classes 在你的 webapp 的类路径中。使用 YourClass.class.getResourceAsStream() 加载此资源的字节。不是文件 IO。
-
YourClass.getResourceAsStream()我的班级不存在。 -
对不起。 YourClass.class.getResourceAsStream().
-
你可以参考这个问题Link
标签: spring spring-mvc