groovy 仅Gradle FileTree目录

csga3l58  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(80)

给定一个目录dir

dir
├── sub1
│   ├── file1
│   └── file2
├── sub2
│   ├── file1
│   └── file2
└── sub3
    ├── file1
    └── file2

字符串
fileTree('dir').each { println it }给了我这个:

dir/sub1/file1
dir/sub1/file2
dir/sub2/file1
dir/sub2/file2
dir/sub3/file1
dir/sub3/file2


而不是所有的文件,我只是想所有的目录和子目录:

dir/
dir/sub1/
dir/sub2/
dir/sub3/


我看过DirectoryTree,但它没有扩展FileCollection(不像FileTree),所以它不是很有用。

uttx8gqw

uttx8gqw1#

这个怎么样

file('dir').eachFileRecurse(FileType.DIRECTORIES) { println it }

字符串
提供:

dir/sub1/
dir/sub2/
dir/sub3/

woobm2wo

woobm2wo2#

FileTree.getFiles()只返回树中的文件,而不返回目录。
我需要执行以下操作来获取目录

List<File> dirs = []
fileTree(dir).visit { FileVisitDetails fvd ->
   if (fvd.directory) {
      dirs << fvd.file
   }
}
doStuff(dirs)

字符串

相关问题