从.zip文件创建java.nio.file.FileSystem(如果它是';是加密的吗?

从.zip文件创建java.nio.file.FileSystem(如果它是';是加密的吗?,java,encryption,zip,nio2,Java,Encryption,Zip,Nio2,在JDK7及更高版本中,有一个相对较新的NIO2库支持部分 我特别需要它来支持这个课程 它与加密的.zip文件兼容吗?如果兼容,如何指定解密密钥 非常类似,但它在安卓系统上;在我的情况下,我不需要担心Android,也不需要支持任何现有代码。如果尝试装载加密的zip文件,则会出现以下错误: Exception in thread "main" java.util.zip.ZipError: invalid CEN header (encrypted entry) at com.sun.

在JDK7及更高版本中,有一个相对较新的NIO2库支持部分

我特别需要它来支持这个课程

它与加密的.zip文件兼容吗?如果兼容,如何指定解密密钥



非常类似,但它在安卓系统上;在我的情况下,我不需要担心Android,也不需要支持任何现有代码。

如果尝试装载加密的zip文件,则会出现以下错误:

Exception in thread "main" java.util.zip.ZipError: invalid CEN header (encrypted entry)
    at com.sun.nio.zipfs.ZipFileSystem.zerror(ZipFileSystem.java:1605)
    at com.sun.nio.zipfs.ZipFileSystem.initCEN(ZipFileSystem.java:1064)
    at com.sun.nio.zipfs.ZipFileSystem.<init>(ZipFileSystem.java:130)
    at com.sun.nio.zipfs.ZipFileSystemProvider.newFileSystem(ZipFileSystemProvider.java:139)
    at java.nio.file.FileSystems.newFileSystem(FileSystems.java:390)    

因此,每个加密条目都会引发异常。因此,ZipFileSystem目前不支持加密文件(Java 8)。

我可以谦恭地推荐该软件包吗?re:Apache VFS:它看起来很有趣,但我需要它
支持Java.nio.file.Filesystem
,而VFS似乎不支持;我猜Apache在NIO2之前做了他们自己的事情。
if ((ZipConstants.CENFLG(arrayOfByte1, i) & 0x1) != 0)
    zerror("invalid CEN header (encrypted entry)");