Czy można utworzyć archiwum Zip w Javie, jeśli nie chcę zapisywać wynikowego archiwum na dysku, ale wysłać je gdzie indziej?Utwórz Java-Zip-Archive z istniejącego OutputStream
Chodzi o to, że utworzenie pliku na dysku może być stratą, gdy użytkownik chce wysłać archiwum Zip do użytkownika za pośrednictwem protokołu HTTP (np. Z bazy danych-Blob lub dowolnego innego magazynu danych).
Chciałbym stworzyć
java.util.zip.ZipOutputStream
lub
apache.commons.ZipArchiveOutputStream
gdzie podajnik będzie ByteArrayOutputStream pochodzących z mojego repozytorium Subversion
W porządku, zadziałało! Ale w jaki sposób mogę utworzyć katalogi, które w rzeczywistości zawierają same pliki? Teraz wszystkie pliki są w porządku, ale katalogi są rozpakowywane jako pliki o zerowej długości w węźle głównym, więc nie ma żadnej hierarchii :-( – trajectory
Pliki ZIP zawierają tylko płaską listę plików. może zawierać informacje o ścieżce. Wystarczy dodać 'ZipEntry' o nazwie takiej jak' dir/file.txt': to jest 'plik.txt' w katalogu' katalog '. –
Tak, przez dodanie bezwzględnego adresu URL wszystko działa oczekiwany, dziękuję bardzo! – trajectory