gpt4 book ai didi

java - Gradle附加zip存档

转载 作者:行者123 更新时间:2023-12-03 05:20:20 25 4
gpt4 key购买 nike

我需要将文件添加到现有的zip存档中。我尝试使用Gradle Zip Task,但它覆盖了我的存档。
我现在已经解决了以下问题

import java.nio.file.FileSystem
import java.nio.file.FileSystems
import java.nio.file.Files
import java.nio.file.Paths
import java.util.function.Consumer

task AddToZip() {
doLast {
FileSystem fs = FileSystems.newFileSystem(Paths.get("$pathToZip"), null)
Files.walk(Paths.get("$rootDir/dir")).forEach(new Consumer<java.nio.file.Path>() {
@Override
void accept(java.nio.file.Path path) {
java.nio.file.Path dest = fs.getPath(path.toString().substring("$rootDir".length()))
if (path.toFile().isDirectory()) {
Files.createDirectory(dest)
return
}
Files.copy(path, dest)
}
})
fs.close()
}
}
还有其他解决方法吗?

最佳答案

您可以使用Project.zipTree(...)从原始邮政编码创建FileTree。然后可以将其传递给Zip.from(...)

task addToZip(type:Zip) {
from zipTree('path/to/original.zip')
from 'path/to/additional/file.txt'
archiveFileName = "updated.zip"
destinationDirectory = file("$buildDir/zips")
}
  • 请参阅Project.zipTree(...)
  • 请参阅AbstractCopyTask.from(...)
  • 关于java - Gradle附加zip存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63776713/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com