如何使用Gradle获取文件和目录名称?

Xel*_*ian 16 directory file task gradle filetree

我有dir,其中另一个任务创建文件和目录所以在这个目录中有文件,目录,子目录,文件,等等.我想把所有文件和目录的绝对路径放在一个列表中.

def listNames = project.fileTree('dir')
Run Code Online (Sandbox Code Playgroud)

但只有文件包含在列表中,目录丢失.如何收集所有这些?

Pet*_*ser 22

def names = []
fileTree("baseDir").visit { FileVisitDetails details -> 
    names << details.file.path 
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅FileTree在摇篮的Javadoc.


kas*_*ode 16

较短的版本:

def files =  fileTree("dirName").filter { it.isFile() }.files.name
Run Code Online (Sandbox Code Playgroud)

当然它也是一样的.

  • 实际上,你的版本只是收集文件,而彼得的版本收集目录和文件。所以它们并不相同。 (2认同)