Java 7引入了一个zip文件系统。以下链接说明了如何从zip文件创建zip文件系统。
http://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/zipfilesystemprovider.html
但是,我找不到如何从InputStream创建zip文件系统的示例。那可能吗?如果是这样,怎么样?
注意:我知道我可以将InputStream写入磁盘并按照描述创建一个zip文件系统。我认为这是一个黑客,我宁愿避免它。
答案 0 :(得分:4)
不,这是不可能的,因为文件系统需要随机访问ZIP文件。
无耻的自我插件:您可能会发现TrueZIP更容易使用且功能更强大。但是,同样的约束也适用于它。
答案 1 :(得分:2)
只有部分答案,但我希望您需要custom file system provider和this question about an in-memory file system might help。请注意,newFileSystem documentation显示了memory://...
网址方案,但没有更多细节。
正如另一个答案所指出的,文件系统需要对数据进行双向访问,因此假定有足够的内存来完全加载它。