Décompressez une archive 7ZIP avec plusieurs fichiers et répertoires en Java [fermé

StackOverflow https://stackoverflow.com/questions/3469904

  •  28-09-2019
  •  | 
  •  

Question

Je veux décompresser une archive 7ZIP / LZMA avec plusieurs fichiers et répertoires en Java. J'ai essayé d'utiliser le SDK 7ZIP officiel, mais j'ai échoué, car mes compétences en programmation ne sont pas si avancées pour ce sujet. Cependant, je fonde certaines bibliothèques qui facilitent le support de Java, en parlant de lzmaoutputStream / lzmainputStream - mais je ne sais pas comment utiliser ces "flux" pour décompresser une archive multi-fichiers. Je suis coincé.

Était-ce utile?

La solution

Dans l'exemple, remplacer compressed avec un nouveau fichier ("path_to_file"). L'exemple de code produira un flux de sortie, je suppose que le LZMAOutputStream ou la bibliothèque a des méthodes appropriées pour convertir le flux en binaire ou en chaîne.

Par défaut, LZMA n'est qu'un algorithme de compression, pas un archiver de fichiers comme TAR ou ZIP. (Remarque: le programme 7-Zip est un archiver de fichiers, mais la bibliothèque à laquelle vous avez lié ne prend pas en charge la traversée et le déballage des fichiers.

Je suggérerais d'utiliser un algorithme de compression bien-support comme ZIP ou GZ. Si vous devez utiliser LZMA, vous pouvez utiliser TAR pour construire une archive de fichiers, puis la compresser avec LZMA. Ou utilisez un zip avec une compression zéro.

Voici une bibliothèque de tar java.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top