【发布时间】:2013-08-04 18:19:13
【问题描述】:
我查看了 at4j 和 7-Zip-JBinding(他们的 javadoc 和文档),但如果不提取它们似乎无法读取(并从存档文件中获取 InputStream)
有没有我遗漏或找不到的方法?
解压到临时文件夹以外的解决方案
我期待在 at4j 或 7-Zip-JBinding 中如何做到这一点的答案
换句话说,我想知道如何在 at4j 或 7-Zip-JBinding 中使用下面提到的函数
我知道 java 的内置有 getInputStream 我目前正在以这种方式使用它
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
/**
* get input stream of current file
* @param path path inside zip
* @return InputStream
*/
public InputStream getInputStream(String path){
try {
ZipEntry entry = zipFile.getEntry(path);
if(entry!=null){
return zipFile.getInputStream(entry);
}
return new ByteArrayInputStream("Not Found".getBytes());
} catch (Exception ex) {
//handle exception
}
return null;
}
(^^ zipFile 是一个 ZipFile 对象)
【问题讨论】:
-
Java 的 ZipInputStream 可以做 zip 的不错,但我认为仅此而已。
-
我知道我目前正在使用它,但我想为其他存档格式添加更多支持
-
试试谷歌搜索,这是它给我的第一件事:stackoverflow.com/questions/561107/rar-archives-with-java
标签: java inputstream