Я переглянув бібліотеку Zip за замовчуванням, що постачається з JDK та компресійними ліжками Apache, і я незадоволений ними з 3 причин:
Вони роздуті і мають поганий дизайн API. Я повинен написати 50 рядків байтового масиву котлових пластин, ввести zip, подати потоки та закрити відповідні потоки та вилучити винятки та самостійно переміщувати байт-буфери ? Чому я не можу мати простий API, який виглядає так,
Zipper.unzip(InputStream zipFile, File targetDirectory, String password = null)
іZipper.zip(File targetDirectory, String password = null)
це просто працює?Схоже, розпакування в розпаковуванні знищує метадані файлів, а обробка паролем порушена.
Крім того, всі бібліотеки, які я спробував, були на 2-3 рази повільнішими порівняно з поштовими інструментами командного рядка, які я отримую з UNIX?
Для мене (2) і (3) - це незначні моменти, але я дуже хочу добре перевірену бібліотеку з однорядним інтерфейсом.