1

最初の「レベル」にディレクトリのみを含むzipファイルがあります。何かのようなもの:

some_file.zip

/ 開いたファイル (レベル 1)

-> ディレクトリ/

/ レベル2

-> file.txt

-> file2.txt

誰かがコードを書きcdDirectory\すべてのエントリを一覧表示できますか?

私はコードを書きましたが、うまくいきません:

require 'zip/zipfilesystem'

Zip::ZipFile.open("./some_file.zip") do |zipfile|
  zipfile.each_with_index do |file, index|
    puts "inspect file == #{file.inspect}"
    puts "entries == #{ zipfile.entries }"
    entries = zipfile.entries
    puts "zipfile.open file #{ zipfile.read(file) }"
  end
end

PS私はrubyzip https://github.com/aussiegeek/rubyzipを使用しています

4

1 に答える 1

1

あなたのコードは少し複雑すぎるようです。次のような zip ファイルがあるとします。

$ mkdir data
$ cd data
$ touch foo bar baz
$ cd ..
$ zip -r data.zip data/

entries次に、次の例のような方法を使用して、zip ファイルの内容を一覧表示できます。

require 'zip/zip'

zip = Zip::ZipFile.open('data.zip')
zip.entries.each do |entry|
  puts entry
end

この小さな例では、次の出力が生成されます。

data/
data/bar
data/baz
data/foo
于 2012-04-23T12:26:48.363 に答える