使用Java访问类路径中特定文件夹中的文件 - 仅适用于单个文件

时间:2015-04-03 10:08:36

标签: java

我正在尝试从classpath目录中获取资源列表。我在Mac OS X上使用JDK 1.7。我正在使用this question的响应来解决我的问题。我可以打开并读取单个文件,但是当我尝试读取整个目录时,我会得到空文件列表。

这有效:

InputStream is = loadFile("scenes/test.xml");
InputStreamReader sReader = new InputStreamReader(is);
BufferedReader bReader = new BufferedReader(sReader);
System.out.println(bReader.readLine()); // print "<Empty/>"

loadFile方法看起来就是这样:

private InputStream loadFile(String filePath) throws IOException {
    InputStream inStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(filePath);
    if (inStream == null) {
        throw new IOException("Unable to load file from resources " + filePath);
    }
    return inStream;
}

这不是

InputStream is = loadFile("scenes/");
InputStreamReader sReader = new InputStreamReader(is);
BufferedReader bReader = new BufferedReader(sReader);
System.out.println(bReader.readLine()); // print "null"

任何人都可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您无法访问这些文件。您只需访问该目录。您需要遍历路径中的每个文件。