jar列表中的Java listFiles

时间:2015-06-10 01:48:02

标签: java io

有没有办法在已打包到jar中的目录上使用listFiles()

假设我的资源目录中有一个目录,其中包含一些文本文件:texts/text1.txttexts/text2.txt

在这个Java程序中,我有一个类需要使用listFiles()来获取这些文件的列表。我会得到像jar:file:/home/soupkitchen.jar/!text这样的东西。我希望这是一个目录。有没有办法可以将其视为包含文件的java.io.File目录?现在它似乎只被列为文件和目录。

1 个答案:

答案 0 :(得分:2)

没有。 java.io.File只能用于列出真实目录。

但是,您可以将其视为java.nio.file.Path。

总的来说,您有三种选择:

  1. 将{.jar打开为Zip File System并使用Files.newDirectoryStreamFiles.list
  2. 遍历.jar文件中的所有条目,查找匹配的名称。
  3. 在.jar中放入一个文本文件,其中包含目录中所有条目的名称,因此您无需尝试列出它们。