因此getResource在jar中不起作用,或者因为我在我的代码中有它,当我要求列出其文件时,它会将文件的子节点返回null。在日食中它完美无缺。我需要它作为一个文件,列出其子文件更多的文件。
/与我添加的类文件夹有关。
以下是代码块:
try {
mapFiles = (new File(LevelPickerScreen.class.getResource("/Maps").toURI())).listFiles();
} catch (URISyntaxException e) {
e.printStackTrace();
}
答案 0 :(得分:2)
getResource
效果非常好 - 但您之后调用File
构造函数,资源不存在作为{{1}存在}。它不是文件 - 它是jar文件中的资源。
我怀疑你发现很难让它以这种方式列出jar文件中的资源 - 你可以单独加载jar文件,但它可能会更简单的方法是自动将所有子项列为构建过程的一部分,然后将文件作为File
放入jar文件中,其中包含地图名称列表。然后,您可以使用/Maps/maps.txt
或getResource
轮流加载其中的每一个 - 但不要尝试使用getResourceAsStream
API。