【问题标题】:Java read file from resources folderJava从资源文件夹中读取文件
【发布时间】:2021-09-10 07:06:57
【问题描述】:

我有一个名为myProjectModule 的项目,它的结构如下:

myProjectModule/
  -src/
    -com/foo/bar/TestDataProvider.java
    -main/resources/testfile.json

所以这两个文件有路径:

src/test/com/foo/bar/TestDataProvider.java
src/main/resources/testfile.json

我想读取 TestDataProvider.java 中的 testfile.json。

我用过

        URL res = getClass().getClassLoader().getResource("testfile.json");
        System.out.println(res);

        File file = Paths.get(res.toURI()).toFile();
        String filename = file.getAbsolutePath()
        final JsonNode root = mapper.readValue(new File(filename), JsonNode.class);

我看到 nullURL res = getClass().getClassLoader().getResource("testfile.json"); 返回

有人可以帮我吗?

【问题讨论】:

  • 您是否忘记了第一个路径中“src”和“com”之间的“测试”?
  • 假设您的意思是 src/test/com/foo/bar/TestDataProvider.java,资源 testfile.json 与测试类在同一模块中,还是您尝试访问另一个资源模块?
  • 如果这是一个spring boot fat jar然后看:stackoverflow.com/questions/41983100/…
  • 在同一个模块中。不,我没有在 src 和 com 之间进行测试。我认为这没有必要。

标签: java


【解决方案1】:

如果你在 maven 项目中,你的代码在:src/ 不在类路径中,你应该在 src/main/java/ 中运行它

【讨论】:

    猜你喜欢
    • 2016-08-06
    • 2016-03-17
    • 2017-05-18
    • 2018-11-12
    • 1970-01-01
    • 2020-01-20
    • 2019-10-16
    • 1970-01-01
    • 2017-11-08
    相关资源
    最近更新 更多