Descompacte um arquivo 7zip com vários arquivos e diretórios em Java [fechado

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

  •  28-09-2019
  •  | 
  •  

Pergunta

Quero descomprimir um arquivo 7ZIP/LZMA com vários arquivos e diretórios em Java. Tentei usar o 7ZIP SDK oficial, mas falhei, pois minhas habilidades de programação não são tão avançadas para esse assunto. No entanto, fico com algumas bibliotecas que facilitam o suporte em Java, falando de LzmaOutputStream/LzmainputStream - no entanto, não sei como usar esses "fluxos" para descomprimir um arquivo de vários arquivos. Estou preso.

Foi útil?

Solução

No exemplo, substitua compressed com novo arquivo ("path_to_file"). O código de exemplo produzirá um fluxo de saída, suponho que o LzmaOutputStream ou a biblioteca possuam métodos apropriados para converter o fluxo em binário ou string.

Por padrão, o LZMA é apenas um algoritmo de compactação, não um arquiver de arquivo como alcatrão ou zip. (Nota: o programa 7-ZIP é um arquiver de arquivo, mas a biblioteca a que você vinculou não suporta travessia de arquivo e descompactação.

Eu sugeriria o uso de um algoritmo de compressão bem-sucedido como Zip ou GZ. Se você precisar usar o LZMA, poderá usar o TAR para criar um arquivo de arquivo e compactá -lo com LZMA. Ou use ZIP com compressão zero.

Aqui está um Biblioteca Tar Java.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top