Spojrzałem na domyślną bibliotekę Zip dostarczaną z bibliotekami kompresji JDK i Apache i jestem z nich niezadowolony z 3 powodów:
Są wzdęte i mają zły projekt API. Muszę napisać 50 wierszy danych wyjściowych tablicy bajtów kotła, danych wejściowych zip, wydzielić pliki i zamknąć odpowiednie strumienie oraz wyłapać wyjątki i samodzielnie przenieść bufory bajtów ? Dlaczego nie mogę mieć prostego interfejsu API, który wygląda tak
Zipper.unzip(InputStream zipFile, File targetDirectory, String password = null)
iZipper.zip(File targetDirectory, String password = null)
to po prostu działa?Wygląda na to, że rozpakowanie rozpakowanie niszczy metadane pliku i obsługa hasła jest zepsuta.
Czy wszystkie biblioteki, które wypróbowałem, były 2-3 razy wolniejsze w porównaniu z narzędziami zip wiersza poleceń, które otrzymuję w systemie UNIX?
Dla mnie (2) i (3) to drobne punkty, ale naprawdę chcę dobrej testowanej biblioteki z interfejsem jednowierszowym.