java 文件压缩工具类
时间: 2024-09-24 14:18:55 浏览: 55
java 中 zip压缩文件解压工具类
Java 中用于文件压缩的工具类主要有内置的 `java.util.zip` 包,它包含了许多处理压缩文件的功能,比如 GZIPOutputStream 和 GZIPInputStream 对 ZIP 文件的压缩和解压操作,以及 ZipOutputStream 和 ZipFile 类对 ZIP 归档的支持。
如果你想要更高级的功能,可以使用第三方库,如 Apache Commons Compress。这个库提供了更多的压缩算法支持,例如 ZIP、GZ、BZip2、XZ 等,使用起来更为方便。例如,你可以创建一个简单的示例:
```java
import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.utils.IOUtils;
import java.io.*;
import java.nio.charset.StandardCharsets;
public class FileCompressor {
public static void zipFile(String source, String destination) throws IOException {
try (CompressionArchiveEntry entry = new CompressionArchiveEntry(source)) {
// 创建 ZIP 输出流
FileOutputStream fos = new FileOutputStream(destination);
ZipArchiveOutputStream zos = new ZipArchiveOutputStream(fos);
// 添加文件到 ZIP 归档
zos.putArchiveEntry(entry);
IOUtils.copy(new FileInputStream(source), zos); // 读取源文件并写入 ZIP
zos.closeArchiveEntry(); // 关闭当前归档条目
zos.finish(); // 结束压缩过程
fos.close();
}
}
public static void main(String[] args) throws IOException {
zipFile("source.txt", "compressed.zip");
}
}
```
阅读全文