我正在尝试将一些现有文件(使用完整文件路径)复制到我使用 Julia 语言创建的 zip 文件夹中。
到目前为止,我已经尝试了 ZipFile.jl 和 InfoZIP,但这两个包都无法将现有文件添加到 zip 文件夹中,只需创建一个新文件来写入。如果有人对如何生成新的 zip 文件夹并用预先存在的文件填充它有任何提示,我将不胜感激。
谢谢
基本上,您可以读取每个文件并将其写入存档中:
w = ZipFile.Writer("archive.zip")
for filepath in filelist
f = open(filepath, "r")
content = read(f, String)
close(f)
zf = ZipFile.addfile(w, basename(filepath));
write(zf, content)
end
close(w)
我也在寻找这个功能。 ZipArchives.jl 软件包现在似乎提供了它。
作为一个相对较新的人,我发现这些文档解码起来有点棘手,但值得坚持!
这是一个非常简单的mwe:
using ZipArchives
zipfile = "test.zip"
newfile = "test1.csv"
appfile = "test2.docx"
# Read first file and write to zip.
f = open(newfile, "r")
content = read(f, String)
close(f)
ZipWriter(zipfile) do w
zip_newfile(w, newfile; compress=true )
write(w, content)
end # end of do block closes the zip.
# Now read the next file to append
f = open(appfile, "r")
content = read(f, String)
close(f)
# In this do block, files are appended to the existing zip file.
zip_append_archive(zipfile) do w
zip_newfile(w, appfile; compress=true)
write(w, content)
end