gpt4 book ai didi

java - 在不解压的情况下查看 zip 中的图像

转载 作者:行者123 更新时间:2023-11-30 04:14:36 26 4
gpt4 key购买 nike

我正在开发一个 Java 程序,该程序允许我查看 zip/rar 文件中的图像,而无需将其解压缩到硬盘上的文件夹中。我希望能够像在普通图像查看器上一样翻转它们,如果需要的话可能能够放大/缩小。

根据我的调查,即使它只是到一个临时文件夹,也必须将其提取,只要程序可以在之后自行删除它,我就可以接受。我相信 ZipFile 是我应该做更多研究的东西?我所看到的大部分内容都涉及文本文档而不是图像文件,因此我不确定如何继续我的研究。

我想看看我是否走在正确的道路上,或者是否有任何好的资源/特定的 api 我可以寻找帮助,因为我已经几个月没有完成任何编码了(除了简单的 php 和 html) )或任何 java 大约一年,我已经把它放在次要位置足够长的时间了。

提前致谢。 :)

最佳答案

您使用 ZipFile 的方法是正确的,我认为您在查看图像之前不需要解压到磁盘。

ZipFile 对象将通过 entries() 为您提供其内容列表。您可以迭代 ZipEntry 对象的集合来选择要查看的文件,当然,如果您愿意,还可以将其过滤为已知的扩展名。

奇怪的是,为给定条目提供 InputStream 的是 ZipFile 对象,而不是各个 ZipEntry 对象。您可以将此对象读入内存中的 byte[] 并将其发送到负责显示图像的组件。

需要注意的是,对于 zip 文件,为了获取 zip 中存储的最后一个文件,基本上必须解压缩整个存档,这可能非常耗时。因此,根据使用模式,将文件缓存在磁盘上或内存中的 LRU 缓存可能是有意义的。

您没有提到这是否适用于 Swing 应用程序,但如果是的话,这可能有助于显示图像:

http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html

关于java - 在不解压的情况下查看 zip 中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18731614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com