2017-11-14 20 views
0

Java 7とjava 8でorg.apache.commons.compress.archivers.sevenz.SevenZFileを使用して7zファイルを解凍できますが、Java6を使用してこれを行うことはできません。 Java 6でその問題を解決するのを手伝ってもらえますか? SeekableByteChannelは:(7zファイルを解凍するためにJava7でSevenZFileを使用できません

あなたは以下のサンプルコードを見つけることができJava6ので見つけることができません。

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

これは、SeekableByteChannelをJava6で使用することはできません。私はそれのための別の解凍ライブラリを見つける必要がありますか? – user2307786

+0

'SeekableByteChannel'はJava SDKの一部ですが、Java 7までは動作しません。これは、あなたのライブラリがJava 6で動作しないことを意味します。しかし、Java 6で動作する以前のバージョンの同じライブラリを探すことができます。古いバージョンのダウンロードを提供する – vanje

答えて

1

のApache Commonsの圧縮1.13以降では、実行時にJavaの7を必要としますが、Java6のバージョン1.12またはのためのサポートが必要な場合。

7z 1.12以前の場合は、任意のストリームではなく、ファイルの読み込みのみが許可されています。これはJava7への移行と使用のチャンスでしたSeekableByteChannelより一般的な入力からの読み上げをサポートしました。

関連する問題