2010-08-12 5 views
4

Java의 복수 파일 & 디렉토리가있는 7zip/lzma 아카이브의 압축을 풀고 싶습니다. 공식 7zip SDK를 사용해 보았지만 실패했습니다. 프로그래밍 기술이 그다지 중요하지 않기 때문입니다. 그러나 LzmaOutputStream/LzmaInputStream에 대해 말하면서 Java에서 지원하는 라이브러리를 쉽게 만들 수 있습니다. 그러나 다중 파일 아카이브의 압축을 푸는 방법을 알지 못합니다. 나는 붙어있다.Java의 여러 파일 및 디렉토리가있는 7zip 아카이브의 압축을 해제하십시오.

+0

체크 인이 밖으로 http://stackoverflow.com/questions/3435751/how-to-unzip-a-7zip-archive-in-android/35750229 # 35750229 – Simon

답변

2

예에서 compressed을 새 파일 ("PATH_TO_FILE")로 바꿉니다. 예제 코드는 출력 스트림을 생성합니다. LzmaOutputStream 또는 라이브러리에 스트림을 이진 또는 문자열로 변환하는 데 적합한 메서드가 있다고 가정합니다.

기본적으로 Lzma는 tar 또는 zip과 같은 파일 압축 프로그램이 아닌 압축 알고리즘입니다. (참고 : 7-Zip 프로그램은 파일 아카이버이지만 연결된 라이브러리는 파일 탐색 및 압축 풀기를 지원하지 않습니다.)

Zip 또는 gz와 같은 서포터 압축 알고리즘을 사용하는 것이 좋습니다. LZMA는 파일 아카이브를 구축하고 LZMA로 압축 된 tar를 사용합니다. 또는 비 압축과 압축을 사용할 수 있습니다.

을 여기에 java TAR library.

+0

고맙습니다 .7zip 파일이 제공되고 형식을 변경할 수 없으므로 다른 라이브러리로 전환 할 수 없습니다. 에드 (슬프지만 사실). 또한 7zip 아카이브에 대한 사양을 찾을 수 없습니다. 이상한 점이 있습니다. 이미 7zip을 지원하지만 오픈 소스가 아닌 응용 프로그램이 이미 있으므로. – Wolkenjaeger