Java Android Studio,独立项目中的getResource(relativePath)与模块?
在我的android项目中,我有一个名为“myParser”的模块。它是一个常规java模块,而不是“应用”模块 build.gradle:Java Android Studio,独立项目中的getResource(relativePath)与模块?,java,android,android-studio,intellij-idea,gradle,Java,Android,Android Studio,Intellij Idea,Gradle,在我的android项目中,我有一个名为“myParser”的模块。它是一个常规java模块,而不是“应用”模块 build.gradle: apply plugin: 'java' dependencies { testCompile 'junit:junit:4.12' } 项目目录为:src/main/resources。我在src/main/resources下创建了目录“firstSet”和“secondSet” src/main/java/com.parser/MyParser
apply plugin: 'java'
dependencies {
testCompile 'junit:junit:4.12'
}
项目目录为:src/main/resources。我在src/main/resources下创建了目录“firstSet”和“secondSet”
src/main/java/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中作为一个独立项目复制这个模块,当我调试同一个测试时(也在src/test/java/com.parser中),url是“file:/Users/marccampbell/GradleProj/build/resources/main/firstSet/hello.txt”
为什么它找不到文件?我最终想用这个模块从我的android应用程序中,在“应用程序模块”中读取这个资源文件。我已经将“应用程序”模块设置为依赖于“myParser”模块