我看了JDK自带的默认Zip库和Apache压缩库,但对它们不满意有以下3个原因:
它们体积过大且API设计不好。我必须要自己写50行样板代码来处理字节数组的输出、压缩输入、文件输出流以及关闭相关流和捕获异常并移动字节缓冲区?为什么不能有一个简单的API,像这样
Zipper.unzip(InputStream zipFile, File targetDirectory, String password = null)
和Zipper.zip(File targetDirectory, String password = null)
只是工作就好了呢?似乎压缩解压会破坏文件元数据且密码处理有问题。
此外,我尝试过的所有库都比我在UNIX上得到的命令行压缩工具慢2-3倍?
对于我来说(2)和(3)只是小问题,但我真的想要一个经过良好测试且只需要一行命令的接口的优秀库。