干杯, 作为 ruby 的初学者,我目前正在用 ruby 解决我的小世界问题,以适应它。现在我正在尝试修改 zip 容器中文本文件的内容。
结构是
ZIP
>> diretory/
>> mytext.text
我可以迭代内容
Zip::ZipFile.open(file_path) do |zipfile|
files = zipfile.select(&:file?)
files.each do |zip_entry|
## ....?
end
end
...但是我发现在不解压文本文件的情况下修改它非常困难。
感谢任何帮助!
最佳答案
因此,在 Ben 的帮助下,这里有一个解决方案:
require "rubygems"
require "zip/zip"
zip_file_name = "src/test.zip"
Zip::ZipFile.open(zip_file_name) do |zipfile|
files = zipfile.select(&:file?)
files.each do |zip_entry|
contents = zipfile.read(zip_entry.name)
zipfile.get_output_stream(zip_entry.name){ |f| f.puts contents + ' added some text' }
end
zipfile.commit
end
我虽然以前尝试过这个 - 无论如何。非常感谢!
关于ruby - Zip::ZipFile:如何在不解压zip的情况下修改内部文本文件的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20702908/