J'ai regardé le Zip par défaut de la bibliothèque qui est livré avec le JDK et le Apache de compression libs et je ne suis pas d'accord avec eux pour 3 raisons:
Ils sont lourds et ont une mauvaise conception d'API. Je dois écrire 50 lignes de chaudière plaque de tableau d'octets de sortie, zip d'entrée, fichier des cours d'eau et fermer pertinentes ruisseaux et attraper les exceptions et les déplacer octet tampons sur mon propre? Pourquoi ne puis-je pas avoir une API simple qui ressemble à ceci
Zipper.unzip(InputStream zipFile, File targetDirectory, String password = null)
etZipper.zip(File targetDirectory, String password = null)
qui fonctionne, tout simplement?Il semble que la compression, la décompression détruit le fichier de méta-données et la manipulation de passe est cassé.
Aussi, toutes les bibliothèques que j'ai essayé ont été 2-3x lent par rapport à la ligne de commande zip outils que j'obtiens avec UNIX?
Pour moi (2) et (3) sont des points mineurs, mais je veux vraiment une bonne testés de la bibliothèque avec une interface de ligne de.