【发布时间】:2014-12-28 13:57:49
【问题描述】:
我有一个问题,我想列出“默认”文件夹中的文件,这个文件夹在资源文件夹中:
-resources/languages/default/manyfiles
第二行抛出 nullPointerException
InputStream in = getClass().getClassLoader().getResourceAsStream("languages/default/");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
似乎我不能对文件夹执行此操作,而只能对文件执行此操作。问题是我不能使用 File,因为它在 jar 中。
编辑:这里是 jar 的内容: http://www.mediafire.com/view/05u5w20xupt1mo1/javapbfolder.bmp
【问题讨论】:
-
路径是否正确?如果你有一个
URLClassLoader实例,你通常会这样做,那么getResourceAsStream应该返回文件夹中的项目。 -
您试图将 目录 作为流请求...这没有任何意义,无论它是在 jar 文件中还是在文件系统中。跨度>
-
@JonSkeet 实际上 NIO.2 API 为目录提供了 DirectoryStream 和 java.util.stream.Stream ,AFAIK。不过,如果我没记错的话,两者都与 java.io 流不同。
-
@Puce:完全正确 -
InputStream在这里没有任何意义。