我的android项目中名为“myParser”的模块中有以下内容。它是一个常规的Java模块,而不是“app”模块。
的build.gradle:
apply plugin: 'java'
dependencies {
testCompile 'junit:junit:4.12'
}
项目目录是:src / main / resources。我在src / main / resources下创建了目录“firstSet”和“secondSet”。
的src /主/爪哇/ com.parser / MyParser.java
MyParser.java:
public static Reader getFileReader(String subdirectory, String filename) {
String path = subdirectory +"/" + filename;
FileReader reader = null;
try {
URL url = MyParser.class.getClassLoader().getResource(path);
String path = url.getPath();
File resourceFile = new File(path);
reader = new FileReader(resourceFile);
} catch (Exception e) {
e.printStackTrace();
}
return reader;
}
我在同一模块(src / test / java / com.parser / MyParserTest.java“)中调试测试,路径为”firstSet / hello.txt“,url为null。
但是如果我将intellij中的这个模块复制为STANDALONE PROJECT,当我调试相同的测试时,url是“file:/Users/marccampbell/GradleProj/build/resources/main/firstSet/hello.txt”(同样在src中) /test/java/com.parser)
为什么找不到文件?我最终想要使用这个模块从我的Android应用程序中读取这个资源文件,在“app module”中。我已经将“app”模块设置为依赖于“myParser”模块