2017-11-14 26 views
0

Java 7 및 java 8에서 org.apache.commons.compress.archivers.sevenz.SevenZFile을 사용하여 7z 파일의 압축을 해제 할 수 있습니다.하지만 Java6을 사용하여 수행 할 수 없습니다. Java 6에서이 문제를 해결할 수 있도록 도와 주시겠습니까? .는 런타임에 자바 7을 필요로 아파치 코 몬즈를 시작으로 압축 1.13Java7에서 SevenZFile을 사용하여 7z 파일의 압축을 해제 할 수 없습니다.

SeekableInMemoryByteChannel inMemoryByteChannel = new 
SeekableInMemoryByteChannel(targetArray); 
    SevenZFile sevenZFile = new SevenZFile(inMemoryByteChannel); 
+0

[documentation] (https://docs.oracle.com/javase/8/docs/api/java/nio/channels/SeekableByteChannel.html)에서 볼 수 있듯이 Java 7부터 'SeekableByteChannel'인터페이스가 존재합니다. 라이브러리가 그것에 의존하는 경우 Java 6에서는 작동하지 않습니다. Java 6에서 작동하는 이전 라이브러리 버전이 있습니까? – vanje

+0

이는 Java6에서 SeekableByteChannel을 사용할 수 없음을 의미합니다. 나는 다른 unzip 라이브러리를 찾아야 만합니까? – user2307786

+0

'SeekableByteChannel'은 Java SDK의 일부이지만 Java 7까지는 포함되지 않습니다. 이는 Java 6에서 라이브러리가 작동하지 않는다는 것을 의미합니다.하지만 Java 6에서 실행되는 이전 라이브러리를 찾을 수 있습니다. 일반적으로 Apache 프로젝트 이전 버전에 대한 다운로드를 제공하십시오. – vanje

답변

1

당신이 Java6 버전 1.12에 대한 지원이 필요한 경우 나 : SeekableByteChannel은 Java6 :(

당신은 아래의 샘플 코드를 찾을 수 있습니다 찾을 수 없습니다 이전 버전에서는 작동하지 않지만 기능이 부족하거나 버그가 다를 수 있습니다.

7z 1.12 이전 버전에서는 임의 스트림이 아닌 파일을 읽을 수만 있습니다 .Java7 로의 이전과 사용 기회였습니다. SeekableByteChannel은보다 일반적인 입력에서 읽기를 지원합니다.