android zipoutputstream 使用
时间: 2024-05-15 11:14:32 浏览: 80
在 Android 平台上,ZipOutputStream 可以用于将多个文件压缩成一个 zip 文件。下面是一个简单的示例代码:
```java
public void zipFiles(ArrayList<File> filesList, File zipFile) throws IOException {
int BUFFER_SIZE = 2048;
BufferedInputStream origin = null;
FileOutputStream dest = new FileOutputStream(zipFile);
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest));
byte data[] = new byte[BUFFER_SIZE];
for (int i = 0; i < filesList.size(); i++) {
FileInputStream fi = new FileInputStream(filesList.get(i));
origin = new BufferedInputStream(fi, BUFFER_SIZE);
ZipEntry entry = new ZipEntry(filesList.get(i).getName());
out.putNextEntry(entry);
int count;
while ((count = origin.read(data, 0, BUFFER_SIZE)) != -1) {
out.write(data, 0, count);
}
origin.close();
}
out.close();
}
```
这个方法接收一个文件列表和一个输出 zip 文件的路径作为参数。它会遍历文件列表,将每个文件添加到 zip 文件中。在添加文件时,需要创建一个 ZipEntry 对象并使用 putNextEntry() 方法将其添加到 ZipOutputStream。然后,使用 read() 和 write() 方法来将文件内容写入 zip 文件中。最后,关闭输入和输出流以释放资源。
阅读全文