我在虚拟文件系统(jimfs)上有一个Path
个zip文件,我需要使用ZipFile
打开这个zip文件。
但ZipFile
中没有构造函数可以Path
作为参数,只有File
。
但是,我无法使用Path
File
(path.toFile())创建,因为我得到UnsupportedOperationException
。如何使用ZipFile
打开我的zip文件?或者也许还有其他方法可以处理不在默认文件系统上的zip文件?
答案 0 :(得分:3)
看看this question - 有一个代码可以从zip文件的内容创建一个新的文件系统:
答案 1 :(得分:1)
ZipFile
类仅限于文件系统中的文件。
另一种方法是使用ZipInputStream
代替。使用
InputStream
创建Path
Path path = ...
InputStream in = Files.newInputStream(path, openOptions)
并使用InputStream
创建ZipInputStream
。这种方式应该按预期工作:
ZipInputStream zin = new ZipInputStream(in)