2015-06-10 71 views
1

有没有什么方法可以将listFiles()用于打包到一个jar目录中?Java目录中的文件夹在罐子里的目录

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

在此Java程序中,我有一个类需要使用listFiles()来获取这些文件的列表。我会得到类似jar:file:/home/soupkitchen.jar/!text的东西。我希望这是一个目录。有什么办法可以把它当作包含文件的java.io.File目录吗?现在它似乎只被列为既不是文件也不是目录。

回答

1

No. java.io.File只能用于列出真实的目录。

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

总体而言,你有三种选择:

  1. 打开的.jar为Zip File System和使用Files.newDirectoryStreamFiles.list
  2. 遍历.jar文件中的所有条目,查找匹配的名称。
  3. 将一个文本文件放入您的.jar文件中,该文件包含目录中所有条目的名称,因此您不必尝试列出它们。
相关问题