当前位置: 首页 > 知识库问答 >
问题:

尝试读取资源文件[duplicate]时,InputStream为空

卢英叡
2023-03-14

我在/src/main/resources中有一个JSON文件,我试图用以下方式读取该文件:

private List<String> readContextFromFile(String file) {

        List<String> context = new ArrayList<>();
        try {
            InputStream in = getClass().getClassLoader().getResourceAsStream(file);
            Map<String, ArrayList> input = objectMapper.readValue(in, HashMap.class);

            context = input.get("@context");
        } catch (IOException e) {
            LOGGER.error("Error reading value {}", e.getMessage());
        }
        return context;
    }

但是,InputStream为空。

这是我传递的文件路径:/Resources/context.json

我做错了什么?

共有1个答案

伏德义
2023-03-14

1) /src/main/resources表示源代码,而不是运行时代码
编译的类和处理的资源在target/classes文件夹中结束,而不是在src文件夹中结束。

2) 关于:

这是我传递的文件路径:/Resources/context.json

为什么要传递资源令牌?它是一个Maven/Gradle目录,您将无法在运行时检索它。运行时,只有包含在内部的文件才可用
您要传递的是/context。json

 类似资料:
  • Windows 7, x64,Java11 如何读取main中resources文件夹中的文件。 我在测试/资源方面也有类似的问题。 但对测试/资源有用的东西对java/资源不起作用。 Java-11或我的代码中发生了什么? 我试过这个 还有这个 其他例子 这也没用

  • 错误: 代码: 我需要插入完整的文件到setRuleSets方法,如何将FileInputStream帮助我在这里? 我应该通过读取fileinput流并将该文件路径传递给方法来重新创建临时文件吗?

  • 我想读一个属性文件,如下所示: 但当我尝试这样做时,我会出现一个错误: 线程“main”java中出现异常。lang.NullPointerException:inStream参数在java中为null。base/java。util。物体。java上的requirennoull(Objects.java:246)。base/java。util。财产。在majorbot加载(Properties.j

  • 我发现了很多与我的问题类似的问题,但我没有得到解决方案,这就是为什么我在这里问。 我刚刚开始学习使用React进行前端开发。我已经为在不同端口运行的前端和后端制作了单独的应用程序。 后端:Laravel框架应用程序运行于 前端:在运行的React应用程序 我有一张这样的表格: 我一直在沿着路线走, 这里是 CORS 中间件, 最后这里是用户创建函数 当我从反应应用程序发送帖子请求时,控制台显示以下

  • 我有一个名为的项目,它有以下结构: 所以这两个文件的路径是: 我想读测试文件。TestDataProvider中的json。JAVA 我曾经用过 我看到从URL res=getClass(). getClassLoader(). getResources("testfile.json")返回; 有人能帮我吗?

  • 问题内容: 我有一个XML文件,需要在Android SDK中进行解析。 如何从资源中读取XML文件路径? XML包含: 问题答案: 将其放在文件夹下。然后,您可以使用以下命令打开它: 这里有一个有关如何使用的示例: http://android-er.blogspot.com/2010/04/read-xml-resources-in-android- using.html