Domanda

Voglio decomprimere un archivio 7zip/LZMA con più file e directory in Java. Ho provato a usare l'SDK 7zip ufficiale, ma ho fallito, poiché le mie capacità di programmazione non sono così avanzate per questo argomento. Tuttavia, fonud alcune librerie che semplificano il supporto in Java, parlando di lzmaoutputstream/lzmainputstream - tuttavia non so come usare quei "flussi" per decomprimere un archivio multi -file. Sono bloccato.

È stato utile?

Soluzione

Nell'esempio, sostituire compressed con nuovo file ("path_to_file"). Il codice di esempio produrrà un flusso di output, suppongo che LZMAOutputStream o la libreria abbiano metodi appropriati per convertire il flusso in binario o stringa.

Per impostazione predefinita LZMA è solo un algoritmo di compressione, non un archivio di file come Tar o Zip. (Nota: il programma a 7 zip è un archivio di file, ma la libreria a cui hai collegato non supporta il traversario dei file e la disimballazione.

Suggerirei di usare un algoritmo di compressione ben apportatore come Zip o GZ. Se è necessario utilizzare LZMA, è possibile utilizzare TAR per creare un archivio di file e quindi comprimerlo con LZMA. Oppure usa Zip con compressione zero.

Ecco un Biblioteca Java Tar.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top