我正在解压缩Zip档案。由于存档有两种类型 - Zip和GZip。
我正在使用以下
ZipFile zipFile = new ZipFile(file, ZipFile.OPEN_READ);
但它为GZip类型的档案提供了以下错误
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
此代码适用于Zip压缩类型存档,而不适用于GZip
有没有办法使用上面的代码,因为我有各种函数使用ZipFile的现有功能。如果我将ZipFile接口更改为ZipInputStream或GZipInputStream,那么我需要更改多个东西。
编辑:如果传入的档案是Zip和GZip类型,我是否需要根据@Joachim Sauer的评论进行不同的实施
答案 0 :(得分:3)
正如@Joachim_Sauer所说,它们是苹果和李子。
看看apache的compress,它可以处理两种(和更多)压缩/存档类型。但是,您需要执行不同的实现,并且您必须自己确定要使用的实现(无论是否处理zip或gzip文件)。
答案 1 :(得分:3)