Похоже, что это можно делать то, что я хочу использовать библиотеку TrueZip: https://truezip.dev.java.net/manual-6.html#Copying
Это не идеальная ситуация, так как библиотека довольно большой и с большим объем работы, чем мне нужно (а также с некоторыми своеобразными и запутанными деталями, такими как организация вокруг подклассов java.io.File, которые также называются файлом для использования в классах, которые обычно также обрабатывают экземпляры java.io.File!).
По крайней мере, мне не обязательно быть в ситуации, когда большинство кодовых строк в классе не связаны с ответственностью класса или поддерживают сложный класс утилиты в проекте, который не связан с назначение модуля.
Я думаю, что это типичный пример из-за того, что опытные разработчики переходят с Java на Ruby. Несмотря на обилие библиотек в java, слишком многие из них плохо разработаны, поэтому простые операции становятся столь же трудными, как и более специализированные. Похоже, что они написаны снизу вверх технологическими специалистами, которые больше стремятся разоблачить все детали и возможности, а не просто делать повседневные задачи. Люди apache заслуживают похвалы за создание библиотек, которые освобождают ваш класс от строк кода, особенно циклов и условных выражений, которые не связаны с бизнес-целями класса.
Я добавил это как запрос функции в Apache commons-compress: https://issues.apache.org/jira/browse/COMPRESS-118 – eirikma
У нас есть сейчас 2011 год, и даже нет (общего) Сторонняя библиотека для извлечения ZIP в Java с помощью одного вызова? WTF – Kutzi