Miré la biblioteca Zip predeterminada que viene con las bibliotecas de compresión JDK y Apache y no estoy contento con ellas por 3 razones:
Están hinchados y tienen un mal diseño de API. ¿Tengo que escribir 50 líneas de salida de matriz de bytes de placa de caldera, entrada zip, archivar secuencias y cerrar secuencias relevantes y capturar excepciones y mover buffers de bytes por mi cuenta ? ¿Por qué no puedo tener una API simple que se vea así
Zipper.unzip(InputStream zipFile, File targetDirectory, String password = null)
yZipper.zip(File targetDirectory, String password = null)
que simplemente funcione?Parece que descomprimir descomprime destruye los metadatos del archivo y el manejo de contraseña está roto.
Además, ¿todas las bibliotecas que probé eran 2-3 veces más lentas en comparación con las herramientas zip de línea de comandos que obtengo con UNIX?
Para mí (2) y (3) son puntos menores, pero realmente quiero una buena biblioteca probada con una interfaz de una línea.