Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中读取.gz或.bzip2文件_Java_Bzip2_Gzip - Fatal编程技术网

如何在java中读取.gz或.bzip2文件

如何在java中读取.gz或.bzip2文件,java,bzip2,gzip,Java,Bzip2,Gzip,我有.gz和.bzip2文件,我需要提取和显示这些文件。我看了几个地方,其中提到了使用zip4j实用程序。我可以用它来提取和显示文件吗?请让我知道 我参考了这篇文章,并尝试按如下方式实现,但我不确定传递给FileOutputStream的是什么,它给了我一个错误。另外,是否可以在文件对象解压缩后创建一个文件对象。请协助。再次感谢你的帮助 if (getExtension(filename).equals("bz2")) { try {

我有.gz和.bzip2文件,我需要提取和显示这些文件。我看了几个地方,其中提到了使用zip4j实用程序。我可以用它来提取和显示文件吗?请让我知道

我参考了这篇文章,并尝试按如下方式实现,但我不确定传递给FileOutputStream的是什么,它给了我一个错误。另外,是否可以在文件对象解压缩后创建一个文件对象。请协助。再次感谢你的帮助

 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将所有文件压缩到一个包中——因此,如果不解压缩整个包(或者在达到所需的所有字节之前),就无法提取单个文件