我的项目有以下结构:
/src/main/java/
/src/main/resources/
/src/test/java/
/src/test/resources/
Run Code Online (Sandbox Code Playgroud)
我有一个文件,/src/test/resources/test.csv我想从单元测试加载文件/src/test/java/MyTest.java
我有这个代码不起作用.它抱怨"没有这样的文件或目录".
BufferedReader br = new BufferedReader (new FileReader(test.csv))
Run Code Online (Sandbox Code Playgroud)
我也尝试过这个
InputStream is = (InputStream) MyTest.class.getResourcesAsStream(test.csv))
Run Code Online (Sandbox Code Playgroud)
这也行不通.它回来了null.我正在使用Maven来构建我的项目.
我的应用程序引擎项目的war/WEB-INF文件夹中有一个文件.我在FAQ中读到你可以从servlet上下文中读取文件.我不知道如何形成资源的路径:
/war/WEB-INF/test/foo.txt
Run Code Online (Sandbox Code Playgroud)
我将如何构建我的资源路径以与File()一起使用,就像上面看到的那样?
谢谢
属性文件位置是WEB-INF/classes/auth.properties.
我不能使用特定于JSF的方法(使用ExternalContext),因为我需要服务模块中的属性文件,该模块不依赖于Web模块.
我已经试过了
MyService.class.getClassLoader().getResourceAsStream("/WEB-INF/classes/auth.properties");
Run Code Online (Sandbox Code Playgroud)
但它回来了null.
我也试过阅读它,FileInputStream但它需要完整的路径是不可接受的.
有任何想法吗?