Java 有没有一种方法可以使用gradle从文件夹中解压多个文件?
我正在尝试使用Gradle将多个Java 有没有一种方法可以使用gradle从文件夹中解压多个文件?,java,gradle,build.gradle,Java,Gradle,Build.gradle,我正在尝试使用Gradle将多个.zip文件从一个文件夹解压缩到另一个文件夹。我可以使用Gradle解压文件,但我正在尝试找出如何解压目录中的所有.zip文件,而不必指定每个.zip文件的名称。我将提供一个我目前拥有的例子。下面的代码没有,我不确定我需要做什么更改才能达到预期的结果,即从一个目录解压所有文件,并将解压后的文件放到一个新目录中 task unzip(type: Copy) { from zipTree("$rootDir/destination_folder&qu
.zip
文件从一个文件夹解压缩到另一个文件夹。我可以使用Gradle解压文件,但我正在尝试找出如何解压目录中的所有.zip
文件,而不必指定每个.zip
文件的名称。我将提供一个我目前拥有的例子。下面的代码没有,我不确定我需要做什么更改才能达到预期的结果,即从一个目录解压所有文件,并将解压后的文件放到一个新目录中
task unzip(type: Copy) {
from zipTree("$rootDir/destination_folder") {
include "**/*.zip"
into "$new_folder"
}
}
方法
zipTree
解压单个.zip
文件,并返回一个FileTree
,其中包含.zip
中的所有文件。在当前代码中,Gradle将“$rootDir/destination_folder”
解释为.zip
文件的路径。它可能找不到此.zip
文件,但即使可以,它也会将包含的文件限制为与“***.zip”
匹配的文件,因此只会复制.zip>文件中的.zip
文件
不要直接使用只能解析单个.zip
文件的zipTree
,您需要从文件树开始收集文件夹中的.zip
文件。然后,您可以对以下每个文件使用zipTree
:
task unzip(type: Copy) {
fileTree(dir: 'sourceDir', includes: ['**/*.zip']).each { zipFile ->
from zipTree(zipFile)
}
into 'targetDir'
}