2009-12-05 78 views
0

我有一个名为test.zip的压缩文件,其中包含一个名为发票的目录。在发票目录里面,每个文件都有不同的名称。我想找到一个名为summary.txt的特定文档,它位于发票目录中。如何使用rubyzip gem在压缩目录中找到特定条目?

我能得到一个手柄用来为test.zip如下:

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

但是当我使用

zip.find_entry("summary.txt") 

我得到零。

在另一方面,如果的summary.txt不是发票目录内,而是在zip文件的根目录本身,如上面所描述的方法find_entry似乎工作。

看来,不知何故,我必须寻找的summary.txt之前向下导航到发票目录。

这是正确的吗?如果是这样,我该怎么做?如果没有,我做错了什么。

回答

1

您需要指定该文件的完整路径:

zip.find_entry 'invoices/summary.txt' 
+0

我一定要到指定的目录的绝对路径,也可以是相对的? – rswolff 2009-12-07 17:40:28

+0

它必须是绝对路径,没有前导斜杠(/)。 – 2009-12-07 23:19:56