Я хочу вернуть логическое значение, чтобы проверить, сжат ли мой zip файл. Будет преимуществом, если я также смогу получить, какой метод сжатия был использован. На данный момент я просто проверяю, что он зашифрован и является действительным zip. Пожалуйста, помогите, если это возможно, используя библиотеку zip4j.
public static boolean isPackageCompressed(String path) throws ZipException{
boolean isPackageCompressed = false;
ZipFile zipFile = new ZipFile(path);
System.out.println(zipFile.isEncrypted());
System.out.println(zipFile.isValidZipFile());
// TODO. There is no method like zipFile.getCompressionMethod() .
return isPackageCompressed;
}
public static void main(String[] args) {
try {
isPackageCompressed("D:\\some.ZIP");
} catch (ZipException e) {
e.printStackTrace();
}
}
Проверить это может быть полезно (не полный ответ)
ZipParameters zp = new ZipParameters();
zp.setFileNameInZip("sample.zip");
System.out.println(zp.getCompressionMethod());
System.out.println(Zip4jConstants.COMP_DEFLATE);
OutPut:
8
8