/**
* 压缩文件
*/
public static boolean zipFile(final String srcFilePath,
final String zipFilePath)
throws IOException {
return zipFile(getFileByPath(srcFilePath), getFileByPath(zipFilePath), null);
}
public static boolean zipFile(final File srcFile,
final File zipFile,
final String comment)
throws IOException {
if (srcFile == null || zipFile == null) return false;
ZipOutputStream zos = null;
try {
zos = new ZipOutputStream(new FileOutputStream(zipFile));
return zipFile(srcFile, "", zos, comment);
} finally {
if (zos != null) {
zos.close();
}
}
}
private static boolean zipFile(final File srcFile,
String rootPath,
final ZipOutputStream zos,
final String comment)
throws IOException {
rootPath = rootPath + (isSpace(rootPath) ? "" : File.separator) + srcFile.getName();
if (srcFile.isDirectory()) {
File[] fileList = srcFile.listFiles();
if (fileList == null || fileList.length <= 0) {
ZipEntry entry = new ZipEntry(rootPath);
entry.setComment(comment);
zos.putNextEntry(entry);
zos.closeEntry();
} else {
for (File file : fileList) {
if (!zipFile(file, "", zos, comment)) return false;
}
}
} else {
InputStream is = null;
try {
is = new BufferedInputStream(new FileInputStream(srcFile));
ZipEntry entry = new ZipEntry(rootPath);
entry.setComment(comment);
zos.putNextEntry(entry);
byte buffer[] = new byte[8192];
int len;
while ((len = is.read(buffer, 0, 8192)) != -1) {
zos.write(buffer, 0, len);
}
zos.closeEntry();
} finally {
if (is != null) {
is.close();
}
}
}
return true;
}
Android 文件压缩 单层级
猜你喜欢
转载自blog.csdn.net/wl724120268/article/details/80688038
今日推荐
周排行