我有一个加密的ODT(Open Document Text)文件,需要解压缩。ODT是一个ZIP文件。加密的ODT是一个普通的ZIP文件,只是ZIP文件中的一些文件被加密了。
在测试中使用ZipFile可以正常工作,但我不能真正使用ZipFile,因为我有一个内存中的流,我不想使用文件。
因此我使用ZipInputStream。但是使用ZipInputStream.getNextEntry()会抛出可怕的“只有DEFLATED条目才能有EXT描述符”异常。
据我所知,它会在ZIP包中第一个加密文件(例如content.xml)上抛出异常。因为OpenOffice已经加密了xml文件,可能没有压缩它的必要,并且它以未压缩的形式存储在ZIP包中。
但是ZipInputStream似乎有问题,我看不到解决的方法。
是有什么建议吗?
注:加密的ODT文件由OpenOffice Writer 3.2.1创建。是的,标准ZipInputStream甚至无法枚举其中的条目。
在测试中使用ZipFile可以正常工作,但我不能真正使用ZipFile,因为我有一个内存中的流,我不想使用文件。
因此我使用ZipInputStream。但是使用ZipInputStream.getNextEntry()会抛出可怕的“只有DEFLATED条目才能有EXT描述符”异常。
据我所知,它会在ZIP包中第一个加密文件(例如content.xml)上抛出异常。因为OpenOffice已经加密了xml文件,可能没有压缩它的必要,并且它以未压缩的形式存储在ZIP包中。
但是ZipInputStream似乎有问题,我看不到解决的方法。
是有什么建议吗?
注:加密的ODT文件由OpenOffice Writer 3.2.1创建。是的,标准ZipInputStream甚至无法枚举其中的条目。