Eu olhei para a biblioteca Zip padrão que acompanha as bibliotecas de compactação JDK e Apache e estou insatisfeita com elas por três razões:
Eles estão inchados e têm um design de API ruim. Eu tenho que escrever 50 linhas de saída da matriz de bytes da placa da caldeira, entrada zip, arquivar fluxos e fechar fluxos relevantes, capturar exceções e mover os buffers de bytes por conta própria ? Por que não posso ter uma API simples que se parece com isso
Zipper.unzip(InputStream zipFile, File targetDirectory, String password = null)
eZipper.zip(File targetDirectory, String password = null)
que simplesmente funciona?Parece que descompactar descompacta destrói os metadados do arquivo e o tratamento da senha está quebrado.
Além disso, todas as bibliotecas que tentei eram 2-3x mais lentas em comparação com as ferramentas de zip da linha de comando que recebo com o UNIX?
Para mim (2) e (3) são pontos menores, mas eu realmente quero uma boa biblioteca testada com uma interface de uma linha.