我正在尝试检查zip文件*是否有超过指定字符限制的文件路径 *。我可以使用以下命令轻松地使用常规文件夹路径完成此操作:
Dir.glob("#{root_path}/*")
然后遍历glob中给定的路径,并将它们的长度与我给定的字符限制进行比较。有没有一种方法可以在不实际解压缩的情况下对zip文件执行此操作?任何帮助都是非常感谢的。
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文件中每个路径的数组(作为字符串)。
1条答案
按热度按时间zdwk9cvp1#
最后我使用了zip类,它有一个entries属性,所以如果你用zip库打开zip,你可以访问所有的文件路径名,方法是遍历每个“entry”,并访问每个条目的“name”属性,即路径的字符串。
例如:
返回paths数组将为您提供zip文件中每个路径的数组(作为字符串)。