以Ruby语言输出Zip文件中的所有路径

5anewei6  于 2022-11-04  发布在  Ruby
关注(0)|答案(1)|浏览(168)

我正在尝试检查zip文件*是否有超过指定字符限制的文件路径 *。我可以使用以下命令轻松地使用常规文件夹路径完成此操作:

Dir.glob("#{root_path}/*")

然后遍历glob中给定的路径,并将它们的长度与我给定的字符限制进行比较。有没有一种方法可以在不实际解压缩的情况下对zip文件执行此操作?
任何帮助都是非常感谢的。

zdwk9cvp

zdwk9cvp1#

最后我使用了zip类,它有一个entries属性,所以如果你用zip库打开zip,你可以访问所有的文件路径名,方法是遍历每个“entry”,并访问每个条目的“name”属性,即路径的字符串。
例如:

require 'zip'

paths = Array.new
zip = Zip::File.open(my_zip, false)
zip.entries.each do |entry|
  paths << entry.name
end

返回paths数组将为您提供zip文件中每个路径的数组(作为字符串)。

相关问题