Wie finde ich einen bestimmten Eintrag in einem Reißverzeichnis mit dem Rubyzip -Edelstein?

StackOverflow https://stackoverflow.com/questions/1850741

  •  13-09-2019
  •  | 
  •  

Frage

Ich habe eine ZIP -Datei mit dem Namen test.zip, die ein Verzeichnis namens Rechnung enthält. Im Rechnungsverzeichnis befinden sich jeweils Dokumente mit unterschiedlichen Namen. Ich möchte ein bestimmtes Dokument namens Summary.txt finden, das sich im Rechnungsverzeichnis befindet.

Ich kann einen Griff zum test.zip verwenden, indem ich Folgendes verwendete:

zip = Zip::ZipFile.open("/path/to/test.zip")

Aber wenn ich benutze

zip.find_entry("summary.txt")

Ich bekomme Nil.

Auf der anderen Seite, wenn summary.txt nicht im Rechnungsverzeichnis liegt, sondern im Stamm zur ZIP -Datei selbst, scheint die oben beschriebene Find_entry -Methode zu funktionieren.

Es scheint, dass ich irgendwie in das Rechnungsverzeichnis navigieren muss, bevor ich nach suche.txt suche.

Ist das richtig? Wenn ja, wie mache ich das? Wenn nicht, was ich falsch mache.

War es hilfreich?

Lösung

Sie müssen den vollständigen Pfad zur Datei angeben:

zip.find_entry 'invoices/summary.txt'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top