gpt4 book ai didi

java - 是否有任何java压缩实用程序

转载 作者:行者123 更新时间:2023-11-30 06:00:29 25 4
gpt4 key购买 nike

我需要(解)压缩一些文件,经过一些谷歌搜索后,我没有找到任何实用程序来执行此操作。我知道我可以使用内置的 java.uitl.zip.* 类来做到这一点,但是没有任何实用程序可以使它更容易,最好像这样:

SomeClass.unzip("文件名.zip", "target_directory");

SomeClass.zip("source_directory", "target_file_name.zip", 递归);

我不想处理流。只是文件,或者更好的只是文件名...

最佳答案

Deflater/Inflater怎么样?问题“What’s a good compression library for Java?”中提到的类。

我知道 Java 目前提出的接口(interface)是基于 Stream 的,而不是基于“文件名”的,但是根据 Java compression 上的以下文章, 很容易围绕它构建一个实用程序类:

例如,基于文件名的解压缩函数如下所示:

import java.io.*;
import java.util.zip.*;

public class UnZip {
final int BUFFER = 2048;
public static void main (String argv[]) {
try {
BufferedOutputStream dest = null;
FileInputStream fis = new
FileInputStream(argv[0]);
ZipInputStream zis = new
ZipInputStream(new BufferedInputStream(fis));
ZipEntry entry;
while((entry = zis.getNextEntry()) != null) {
System.out.println("Extracting: " +entry);
int count;
byte data[] = new byte[BUFFER];
// write the files to the disk
FileOutputStream fos = new
FileOutputStream(entry.getName());
dest = new
BufferedOutputStream(fos, BUFFER);
while ((count = zis.read(data, 0, BUFFER))
!= -1) {
dest.write(data, 0, count);
}
dest.flush();
dest.close();
}
zis.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}

关于java - 是否有任何java压缩实用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1237733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com