如何使用 ruby​​zip gem 查找压缩目录中的特定条目?

发布于 2024-08-13 18:06:26 字数 467 浏览 3 评论 0原文

我有一个名为 test.zip 的 zip 文件,其中包含一个名为 Invoice 的目录。发票目录内有一些具有不同名称的文档。我想在发票目录中找到一个名为summary.txt 的特定文档。

我可以使用以下命令获取 test.zip 的句柄:

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

但是当我使用时,

zip.find_entry("summary.txt")

我得到 nil。

另一方面,如果summary.txt 不在invoices 目录中,而是在zip 文件本身的根目录中,则上述find_entry 方法似乎可以工作。

看来我必须在搜索summary.txt 之前导航到invoices 目录。

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

I have a zip file named test.zip which contains a directory named invoice. Inside the invoice directory there are documents each with different names. I would like to find a specific document named summary.txt which is inside the invoice directory.

I am able to get a handle to test.zip using the following:

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

but when I use

zip.find_entry("summary.txt")

I get nil.

On the other hand, if summary.txt is not inside the the invoices directory, but rather at the root of the zip file itself, the find_entry method as described above seems to work.

It seems that somehow I must navigate down into the invoices directory before searching for summary.txt.

Is this correct? If so, how do I do it? If not, what I am I doing wrong.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

唱一曲作罢 2024-08-20 18:06:26

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

zip.find_entry 'invoices/summary.txt'

You need to specify the full path to the file:

zip.find_entry 'invoices/summary.txt'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文