我在我的代码中使用Google Guava.从一个目录开始,我希望逐个获取所有文件(如果当前文件是一些特殊文件,我将在其中进行一些处理),最后我将它们复制到另一个目录(某些目录除外).
我知道在Guava有一个复制方法,但是如何在目录下获取所有文件(如果在起始目录下有一些目录,我应该在它下面获取文件,如果在某些目录下有任何目录,我应该得到他们)
PS 1:如果有任何复制文件的建议,欢迎您.
PS 2:我认为此对话与我的问题有关:http://code.google.com/p/guava-libraries/issues/detail?id = 578
PS 3:我在我的项目中使用Java 6.
Pao*_*oni 14
自从番石榴15你可以使用Files.fileTreeTraverser()
.
用法很简单:
File rootDir = ...; //this is your root directory
for (File f : Files.fileTreeTraverser().preOrderTraversal(rootDir)) {
// do whatever you need with the file/directory
// if you need the relative path, with respect to rootDir
Path relativePath = rootDir.toPath().getParent().relativize(f.toPath());
}
Run Code Online (Sandbox Code Playgroud)
正如您可以从TreeTraverser
javadoc中读取的那样,您可以在三种不同的迭代顺序中进行选择.