干杯,
作为一个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

…但是我发现不解包就很难修改文本文件。
感谢任何帮助!

最佳答案

所以在本的帮助下,有一个解决方案:

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/

10-13 05:29