java压缩的compress函数作用_java基础---->Zip压缩的使用(转)
时间: 2024-02-23 13:59:33 浏览: 31
Java 的 compress 函数是用来压缩文件或者文件夹的。在 Java 中,可以使用 ZipOutputStream 类来创建一个 zip 压缩文件,并将需要压缩的文件添加到该 zip 文件中。具体使用方法如下:
1. 创建 ZipOutputStream 对象,用来写入压缩文件。
```java
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("example.zip"));
```
2. 将需要压缩的文件或文件夹添加到 zip 文件中。
```java
// 压缩文件
ZipEntry entry = new ZipEntry("file.txt");
zos.putNextEntry(entry);
byte[] data = "Hello, World!".getBytes();
zos.write(data, 0, data.length);
zos.closeEntry();
// 压缩文件夹
File dir = new File("dir");
File[] files = dir.listFiles();
for (File file : files) {
ZipEntry entry = new ZipEntry(file.getName());
zos.putNextEntry(entry);
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) > 0) {
zos.write(buffer, 0, len);
}
zos.closeEntry();
fis.close();
}
```
3. 关闭 ZipOutputStream 对象。
```java
zos.close();
```
通过以上代码,可以将文件或文件夹压缩成一个 zip 文件。需要注意的是,压缩文件和文件夹的方式略有不同:对于文件,可以直接将文件的字节流写入到 zip 文件中;对于文件夹,需要遍历文件夹中的所有文件,并将每个文件的字节流写入到 zip 文件中。
希望这样的解答能够帮助到你!