无法在Java6上使用SevenZFile来解压缩7z文件

时间:2017-11-14 14:57:40

标签: java compression unzip 7zip

我可以在Java 7和java 8上使用org.apache.commons.compress.archivers.sevenz.SevenZFile解压缩7z文件。但我不能通过使用Java6来实现。你能帮我解决Java 6的问题吗? Java6无法找到SeekableByteChannel :(

您可以在下面找到示例代码:

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

1 个答案:

答案 0 :(得分:1)

从Apache Commons Compress 1.13开始,它在运行时需要Java 7。如果您需要支持Java6版本1.12或更早版本将起作用(但可能具有更少的功能或不同的错误集)。

在7z 1.12及更早版本的情况下,只允许读取文件,而不是任意流。这是向Java7的转移以及使用 func application(_ application: UIApplication, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: @escaping (Bool) -> Void) { if shortcutItem.type == "fr.xxxxxxxxxx.xxxxxxxxxxxx.playRadio" { //window!.rootViewController?.present("Player", animated: true, completion: nil) //selectedViewController .playPlayer() if let rootViewController = window?.rootViewController as? UITabBarController { if let viewController = rootViewController.viewControllers?.first as? ViewController { viewController.playPlayer() } } } } 的机会,允许支持从更一般的输入中读取。