Android Studio,独立项目中的getResource(relativePath)与模块?

时间:2016-02-04 03:42:43

标签: java android android-studio intellij-idea gradle

我的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”模块

0 个答案:

没有答案