1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Android文件或文件夹压缩成.zip格式的压缩包

Android文件或文件夹压缩成.zip格式的压缩包

时间:2022-01-18 05:45:33

相关推荐

Android文件或文件夹压缩成.zip格式的压缩包

下面是压缩文件和文件夹的方法:

/*** 压缩文件和文件夹** @param srcFileString 要压缩的文件或文件夹* @param zipFileString 压缩完成的Zip路径* @throws Exception*/public static void ZipFolder(String srcFileString, String zipFileString) throws Exception {//创建ZIPZipOutputStream outZip = new ZipOutputStream(new FileOutputStream(zipFileString));//创建文件File file = new File(srcFileString);//压缩LogUtils.LOGE("---->"+file.getParent()+"==="+file.getAbsolutePath());ZipFiles(file.getParent()+ File.separator, file.getName(), outZip);//完成和关闭outZip.finish();outZip.close();}/*** 压缩文件** @param folderString* @param fileString* @param zipOutputSteam* @throws Exception*/private static void ZipFiles(String folderString, String fileString, ZipOutputStream zipOutputSteam) throws Exception {LogUtils.LOGE("folderString:" + folderString + "\n" +"fileString:" + fileString + "\n==========================");if (zipOutputSteam == null)return;File file = new File(folderString + fileString);if (file.isFile()) {ZipEntry zipEntry = new ZipEntry(fileString);FileInputStream inputStream = new FileInputStream(file);zipOutputSteam.putNextEntry(zipEntry);int len;byte[] buffer = new byte[4096];while ((len = inputStream.read(buffer)) != -1) {zipOutputSteam.write(buffer, 0, len);}zipOutputSteam.closeEntry();} else {//文件夹String fileList[] = file.list();//没有子文件和压缩if (fileList.length <= 0) {ZipEntry zipEntry = new ZipEntry(fileString + File.separator);zipOutputSteam.putNextEntry(zipEntry);zipOutputSteam.closeEntry();}//子文件和递归for (int i = 0; i < fileList.length; i++) {ZipFiles(folderString+fileString+"/", fileList[i], zipOutputSteam);}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。