srikanth-lingala / zip4j

A Java library for zip files and streams
Apache License 2.0
2.06k stars 310 forks source link

Using zip4j with custom compression algorithm? #483

Closed rob-X1 closed 1 year ago

rob-X1 commented 1 year ago

I have ZIP files that contain entries, compressed with an algorithm not supported by zip4j (and all the other ZIP reader Java implementations, too).

I would like to use zip4j in my aplication and extend it to support this compression without having to fork the project and maintian it.

I checked the source code of zip4j and it seems like the supported compression algorithms are hard-coded without any possibility to modify it uas a zip4j user.

Are there plans to make the part that resolves the decompressor and the decryptor extensible, e.g. by introducing a factory implementation that has a method for that gets as parameter a LocalFileHeader that a user could imlement to establish a custom mapping?

Also of interest when unzipping a ZIP file would be a possibility to read the "raw compressed data" of an ZIP entry - which means the data before it is decompressed.

srikanth-lingala commented 1 year ago

Are there plans to make the part that resolves the decompressor and the decryptor extensible, e.g. by introducing a factory implementation that has a method for that gets as parameter a LocalFileHeader that a user could imlement to establish a custom mapping?

I would love to have it, but give the lack of free time I have now, I highly doubt if I will be able to make it

Also of interest when unzipping a ZIP file would be a possibility to read the "raw compressed data" of an ZIP entry - which means the data before it is decompressed.

Not with zip4j. You probably need to write custom readers for that.