ZipOutputStream详解
时间: 2023-08-25 12:05:57 浏览: 137
关于InputStream和OutputStream详细讲解
ZipOutputStream是java.util.zip包中的一个类,用于将内容直接写入到zip包中。它通常是封装在FileOutputStream中使用的。在使用ZipOutputStream时,需要先调用putNextEntry方法来创建一个新的压缩文件条目,然后使用write方法将数据写入到zip包中。当写入完毕后,需要调用closeEntry方法来结束这个文件的打包。\[1\]
在创建压缩文件条目时,可以使用ZipEntry类来指定条目的名称和路径。例如,可以使用new ZipEntry("Image\\01.jpg")来创建一个名为"01.jpg"的文件条目,并将其放在名为"Image"的文件夹下。解压缩后的文件结构就会是"Image\01.jpg"。\[2\]
下面是一个示例代码,展示了如何使用ZipOutputStream进行文件压缩:
```java
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class ZipExample {
public static void fileToZip(String srcFile, String zipFile) throws IOException {
File file = new File(srcFile);
String name = file.getName();
FileInputStream inputStream = new FileInputStream(file);
ZipOutputStream zipOutputStream = new ZipOutputStream(new FileOutputStream(zipFile));
zipOutputStream.putNextEntry(new ZipEntry("Image\\01.jpg"));
int temp = 0;
while ((temp = inputStream.read()) != -1) {
zipOutputStream.write(temp);
}
zipOutputStream.close();
inputStream.close();
}
public static void main(String\[\] args) {
try {
fileToZip("D:\\CaptureTest\\filepath\\1.jpg", "D:\\CaptureTest\\123.zip");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上代码演示了如何将文件"1.jpg"压缩为名为"123.zip"的压缩文件,并将其放在名为"Image"的文件夹下。\[2\]
希望以上解答对您有帮助。
#### 引用[.reference_title]
- *1* *3* [zipoutputStream的简单使用](https://blog.csdn.net/qq_38345598/article/details/109549512)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [JAVA压缩流(ZipOutputStream)的简单使用](https://blog.csdn.net/liu_xin_xin/article/details/122988864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文