android文件压缩库,Android文件压缩和解压
Android文件壓縮和解壓
Java代碼
package com.maidong.utils;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
import org.apache.http.protocol.HTTP;
public class ZipUtils {
private static final int BUFF_SIZE = 1024 * 1024; // 1M Byte
/**
* 批量壓縮文件(夾)
*
* @param resFileList
*??????????? 要壓縮的文件(夾)列表
* @param zipFile
*??????????? 生成的壓縮文件
* @throws IOException
*???????????? 當壓縮過程出錯時拋出
*/
public static void zipFiles(Collection resFileList, File zipFile) throws IOException {
ZipOutputStream zipout = null;
try {
zipout = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipFile), BUFF_SIZE));
for (File resFile : resFileList) {
zipFile(resFile, zipout, "");
}
} finally {
if (zipout != null)
zipout.close();
}
}
/**
* 批量壓縮文件(夾)
*
* @param resFileList
*??????????? 要壓縮的文件(夾)列表
* @param zipFile
*??????????? 生成的壓縮文件
* @param comment
*??????????? 壓縮文件的注釋
* @throws IOException
*???????????? 當壓縮過程出錯時拋出
*/
public static void zipFiles(Collection resFileList, File zipFile, String comment) throws IOException {
ZipOutputStream zipout = null;
try {
zipout = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(zipFile), BUFF_SIZE));
for (File resFile : resFileList) {
zipFile(resFile, zipout, "");
}
zipout.setComment(comment);
} finally {
if (zipout != null)
zipout.close();
}
}
/**
* 解壓縮一個文件
*
* @param zipFile
*??????????? 壓縮文件
* @param folderPath
*??????????? 解壓縮的目標目錄
* @throws IOException
*???????????? 當解壓縮過程出錯時拋出
*/
public static void upZipFile(File zipFile, String folderPath) throws ZipException, IOException {
File desDir = new File(folderPath);
if (!desDir.exists()) {
desDir.mkdirs();
}
ZipFile zf = new ZipFile(zipFile);
InputStream in = null;
OutputStream out = null;
try {
for (Enumeration> entries = zf.entries(); entries.hasMoreElements();) {
ZipEntry entry = ((ZipEntry) entries.nextElement());
in = zf.getInputStream(entry);
String str = folderPath + File.separator + entry.getName();
str = new String(str.getBytes("8859_1"), HTTP.UTF_8);
File desFile = new File(str);
if (!desFile.exists()) {
File fileParentDir = desFile.getParentFile();
if (!fileParentDir.exists()) {
&nb補充:移動開發 , Android ,
總結
以上是生活随笔為你收集整理的android文件压缩库,Android文件压缩和解压的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php的db类库Eloquent单独使用
- 下一篇: Linux下ifconfig中没有wla