4

Java 7 引入了一个 zip 文件系统。下面的链接说明了如何从 zip 文件创建 zip 文件系统。

http://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/zipfilesystemprovider.html

但是,我找不到如何从 InputStream 创建 zip 文件系统的示例。那可能吗?如果是这样,怎么做?

注意:我知道我可以将 InputStream 写入磁盘并按照描述创建一个 zip FileSystem。我认为这是一种黑客行为,我宁愿避免它。

4

2 回答 2

4

不,这是不可能的,因为文件系统需要随机访问 ZIP 文件。

无耻的自插拔:您可能会发现TrueZIP更易于使用且功能更强大。但是,同样的约束也适用于它。

于 2012-08-05T19:32:04.887 回答
2

只是部分答案,但我希望您需要一个自定义文件系统提供程序这个关于内存文件系统的问题可能会有所帮助。请注意,newFileSystem 文档显示了一个memory://...URL 方案,但没有更多详细信息。

正如在另一个答案中指出的那样,文件系统需要对数据进行双向访问,因此这假设有足够的内存来完全加载它。

于 2012-08-05T19:18:59.690 回答