我们如何递归列出所有文件和文件夹?

时间:2015-07-04 11:56:36

标签: java recursion apache-commons-io file-listing

通过谷歌搜索,在此SO网站中,结果将来自Apache Commons IO的FileUtils.listFilesAndDirs()方法。

但是这种方法不会递归地进入子文件夹 - 我们需要递归文件列表。

我们如何使用Commons IO?

P.S:

本机方法是使用JDK原生支持的File.listFiles()解析here

1 个答案:

答案 0 :(得分:4)

您可以使用ListView

要将FileUtils.listFiles(File base, String[] extensions, boolean recursive)设置为recursivetrue设置为extensions的所有文件。

null

或者,使用 FileUtils.listFiles(basePath, null, true); 的其他内容,您可以提供更详细的搜索参数。

如果要查找文件和目录而不是文件,请使用

FileUtils.listFiles

有关详细信息,请参阅here

  • FileUtils.listFilesAndDirs(File directory, IOFileFilter fileFilter, IOFileFilter dirFilter) 参数设置搜索将依赖的目录。要对所有子目录进行递归,请使用dirFilter。根本不要递归,只需TrueFileFilter.INSTANCE

  • null参数选择搜索将返回的文件和目录。要返回所有这些内容,请使用fileFilter

示例电话

TrueFileFilter.INSTANCE