为了账号安全,请及时绑定邮箱和手机立即绑定

使用 getResourceAsStream() 从 src/test/resources 获取文件

使用 getResourceAsStream() 从 src/test/resources 获取文件

慕的地8271018 2021-12-01 17:08:43
++添加我想根据 json 模式文件验证 json。我目前将 json 保存为 string ,并尝试读取 json 模式文件(即 test.json),然后进行验证。但是,读取架构文件始终为空..下面的代码是我到目前为止尝试过的。++原帖。这是我目前的情况。我尝试了很多方法来获取文件(test.json)...喜欢InputStream in;1.  in= valid.class.getResourceAsStream("/test.json"); 2.  in = getClass().getClassLoader().getResourceAsStream("/test.json");3.   in = Thread.currentThread().getContextClassLoader().getResourceAsStream("//test.json");4. in=getClass().getResourceAsStream("/test.json"); 5. in=ValidationUtils.class.getResourceAsStream("../resources/ds/test.json"); 6. ClassLoader classLoader =  getClass().getClassLoader();   in = classLoader.getResourceAsStream("test.json");7.in=getClass().getResourceAsStream("/ds/test.json"); //tried just nowSystem.out.println("in"+in); //this is always null.什么都没有......工作......上面......请帮助我......
查看完整描述

2 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

您不能(默认情况下)src/test/resourcessrc/main/java. 所有src/test/resources资源仅可用于通常src/test/javatest阶段中存储和执行的测试(在 Maven 中)。在该阶段,测试代码可以通过您在问题中引用的某些(不是全部)方法访问该资源。

对于您的主类,资源根目录为src/main/resources. 您应该将 JSON 架构文件存储在那里。测试代码还可以访问存储在那里的资源(因此不需要重复),但反之则不行。


查看完整回答
反对 回复 2021-12-01
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

获取资源时,资源文件夹是根目录。如果文件位于子文件夹中,则需要将其包含在路径中。用

in = getClass().getResourceAsStream("/ds/test.json");


查看完整回答
反对 回复 2021-12-01
  • 2 回答
  • 0 关注
  • 302 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信