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

标签 java

file structure here

++添加 我想根据 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 now


System.out.println("in"+in); //this is always null.

没什么..工作..以上.. 请帮助我...

最佳答案

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

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

关于java - 使用 getResourceAsStream() 从 src/test/resources 获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52932348/

相关文章:

java - 在 Tomcat 上使用 Tess4J

Java MouseListener MouseClicked 只能工作一次

java - 在 Java 中使用 Class<V> 和泛型类型

java - 比 ColorConvertOp 更快的替代品

java - Java GC 如何调用 finalize() 方法?

java - 如何让 GWT 在链接文件夹中找到源代码?

java - 如何使用 MyBatis 处理 blob?

java - 如何重置 JSESSIONID

java - 如何使用GSON从json字符串中提取json?

java - 对象的数组列表只是创建对同一对象java的引用