Java jar 目录中的 listFiles
Java listFiles in directory in jar
有没有办法在已经打包成jar的目录上使用listFiles()
?
假设我的资源目录中有一个目录,其中包含一些文本文件:texts/text1.txt
和 texts/text2.txt
。
在这个 Java 程序中,我有一个 class 需要使用 listFiles()
来获取这些文件的列表。我会得到类似 jar:file:/home/soupkitchen.jar/!text
的东西。我希望那是一个目录。有什么方法可以将其视为包含文件的 java.io.File
目录?现在它似乎只被列为既不是文件也不是目录。
没有。 java.io.File 只能用于列出真实目录。
但是,您可以将其视为 java.nio.file.Path。
总的来说,你有三个选择:
- 打开 .jar 作为 Zip File System and use Files.newDirectoryStream or Files.list。
- 遍历 .jar 文件中的所有条目,查找匹配的名称。
- 在您的 .jar 中放置一个文本文件,其中包含目录中所有条目的名称,这样您就不必尝试列出它们。
有没有办法在已经打包成jar的目录上使用listFiles()
?
假设我的资源目录中有一个目录,其中包含一些文本文件:texts/text1.txt
和 texts/text2.txt
。
在这个 Java 程序中,我有一个 class 需要使用 listFiles()
来获取这些文件的列表。我会得到类似 jar:file:/home/soupkitchen.jar/!text
的东西。我希望那是一个目录。有什么方法可以将其视为包含文件的 java.io.File
目录?现在它似乎只被列为既不是文件也不是目录。
没有。 java.io.File 只能用于列出真实目录。
但是,您可以将其视为 java.nio.file.Path。
总的来说,你有三个选择:
- 打开 .jar 作为 Zip File System and use Files.newDirectoryStream or Files.list。
- 遍历 .jar 文件中的所有条目,查找匹配的名称。
- 在您的 .jar 中放置一个文本文件,其中包含目录中所有条目的名称,这样您就不必尝试列出它们。