java zip压缩文件
时间: 2023-09-28 16:07:45 浏览: 50
Java可以使用ZipOutputStream类来实现zip压缩文件的功能,以下是一个简单的示例代码:
```java
import java.io.*;
import java.util.zip.*;
public class ZipDemo {
public static void main(String[] args) throws IOException {
String sourceFile = "source.txt"; // 待压缩文件
String zipFile = "compressed.zip"; // 压缩后的文件名
FileOutputStream fos = new FileOutputStream(zipFile);
ZipOutputStream zipOut = new ZipOutputStream(fos);
File fileToZip = new File(sourceFile);
FileInputStream fis = new FileInputStream(fileToZip);
ZipEntry zipEntry = new ZipEntry(fileToZip.getName());
zipOut.putNextEntry(zipEntry);
byte[] bytes = new byte[1024];
int length;
while ((length = fis.read(bytes)) >= 0) {
zipOut.write(bytes, 0, length);
}
zipOut.close();
fis.close();
fos.close();
}
}
```
该程序将会读取一个名为source.txt的文件,将其压缩成名为compressed.zip的zip文件。程序中使用了Java的IO流和ZipOutputStream类来完成压缩操作,具体实现过程如下:
1. 创建一个ZipOutputStream对象,用于向压缩文件中写入数据。
2. 读取需要压缩的文件。
3. 创建一个ZipEntry对象,用于描述待压缩文件的名称和属性。
4. 将ZipEntry对象写入ZipOutputStream中。
5. 循环读取待压缩文件的内容,并将其写入ZipOutputStream中。
6. 关闭ZipOutputStream与输入流。
7. 压缩完成。
需要注意的是,Java中还有许多其他的压缩方式和库,例如GZIP、JAR等,可以根据需要选择适当的方式来完成压缩操作。