Java 解压缩BZIP2归档文件
我可以解压zip、gzip和rar文件,但我还需要解压bzip2文件以及解压它们(.tar)。我还没有找到一个好的图书馆 我将Java与Maven一起使用,因此理想情况下,我希望将其作为一个依赖项包含在POM中Java 解压缩BZIP2归档文件,java,api,compression,bzip2,Java,Api,Compression,Bzip2,我可以解压zip、gzip和rar文件,但我还需要解压bzip2文件以及解压它们(.tar)。我还没有找到一个好的图书馆 我将Java与Maven一起使用,因此理想情况下,我希望将其作为一个依赖项包含在POM中 您推荐什么库?我能看到的最佳选择是使用此Maven依赖项 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</art
您推荐什么库?我能看到的最佳选择是使用此Maven依赖项
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.0</version>
</dependency>
请不要忘记使用缓冲流来获得高达3倍的加速比
public void decompressBz2(String inputFile, String outputFile) throws IOException {
var input = new BZip2CompressorInputStream(new BufferedInputStream(new FileInputStream(inputFile)));
var output = new FileOutputStream(outputFile);
try (input; output) {
IOUtils.copy(input, output);
}
}
decompressBz2("example.bz2", "example.txt");
要复制流,还可以使用ApacheCommons IO。
public void decompressBz2(String inputFile, String outputFile) throws IOException {
var input = new BZip2CompressorInputStream(new BufferedInputStream(new FileInputStream(inputFile)));
var output = new FileOutputStream(outputFile);
try (input; output) {
IOUtils.copy(input, output);
}
}
decompressBz2("example.bz2", "example.txt");
dependencies {
...
implementation("org.apache.commons:commons-compress:1.20")
}