如何在java中读取.gz或.bzip2文件
我有.gz和.bzip2文件,我需要提取和显示这些文件。我看了几个地方,其中提到了使用zip4j实用程序。我可以用它来提取和显示文件吗?请让我知道 我参考了这篇文章,并尝试按如下方式实现,但我不确定传递给FileOutputStream的是什么,它给了我一个错误。另外,是否可以在文件对象解压缩后创建一个文件对象。请协助。再次感谢你的帮助如何在java中读取.gz或.bzip2文件,java,bzip2,gzip,Java,Bzip2,Gzip,我有.gz和.bzip2文件,我需要提取和显示这些文件。我看了几个地方,其中提到了使用zip4j实用程序。我可以用它来提取和显示文件吗?请让我知道 我参考了这篇文章,并尝试按如下方式实现,但我不确定传递给FileOutputStream的是什么,它给了我一个错误。另外,是否可以在文件对象解压缩后创建一个文件对象。请协助。再次感谢你的帮助 if (getExtension(filename).equals("bz2")) { try {
if (getExtension(filename).equals("bz2")) {
try {
FileInputStream fin = new FileInputStream("C:\\temp\\test.bz2");
BufferedInputStream in = new BufferedInputStream(fin);
FileOutputStream out = new FileOutputStream("archive.tar");
BZip2CompressorInputStream bzIn = new BZip2CompressorInputStream(in);
int buffersize = 1024;
final byte[] buffer = new byte[buffersize];
int n = 0;
while (-1 != (n = bzIn.read(buffer))) {
out.write(buffer, 0, n);
}
out.close();
bzIn.close();
}
catch (Exception e) {
throw new Error(e.getMessage());
}
提前谢谢
~Akshitha.gz文件扩展名是使用GZIP压缩的指示。 您可以使用
GZIP输入流
在java 7 SDK中打开GZIP:
Java SDK库不支持BZIP2压缩/解压缩,而且您必须使用第三方库,例如
您提到的lib(从一个非常简单的视图)似乎只支持ZIP格式,而不支持BZIP2变体的GZIP,这是不同的
请注意,与ZIP压缩不同,GZIP将所有文件压缩到一个包中——因此,如果不解压缩整个包(或者在达到所需的所有字节之前),就无法提取单个文件