From cb9e5e684780d8e0abc5820ac285aa95baca1cc0 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期二, 31 三月 2020 11:09:57 +0800
Subject: [PATCH] zip压缩
---
app/src/main/java/safeluck/drive/evaluation/util/Utils.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
index 84f91c8..014230f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
+++ b/app/src/main/java/safeluck/drive/evaluation/util/Utils.java
@@ -10,6 +10,9 @@
import com.anyun.exam.lib.util.ByteUtil;
import com.safeluck.aykj.utils.BytesUtils;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
import java.math.BigDecimal;
import java.security.SecureRandom;
import java.text.ParseException;
@@ -23,6 +26,9 @@
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+import java.util.zip.ZipOutputStream;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
@@ -481,4 +487,58 @@
long utcTime = date.getTime()+8*60*60*1000;
return utcTime;
}
+
+ public static void zipFolder(String srcFileString,String zipFileString) throws Exception{
+ //鍒涘缓zip
+ ZipOutputStream outZip = new ZipOutputStream(new FileOutputStream(zipFileString));
+
+ //鍒涘缓鏂囦欢
+ File file = new File(srcFileString);
+ //鍘嬬缉
+ System.out.println("----->"+file.getParent()+"==="+file.getAbsolutePath());
+ zipFiles(file.getParent()+File.separator,file.getName(),outZip);
+ outZip.finish();
+ outZip.close();
+ }
+
+ /**
+ * 鍘嬬缉鏂囦欢
+ * @param folderString
+ * @param fileString
+ * @param outZip
+ */
+ private static void zipFiles(String folderString, String fileString, ZipOutputStream outZip)
+ throws Exception{
+ System.out.println("folderString="+folderString+ "\n" +
+ "fileString:" + fileString + "\n==========================");
+ if (outZip == null){
+ return;
+ }
+ File file = new File(folderString + fileString);
+ if (file.isFile()){
+ ZipEntry zipEntry = new ZipEntry(fileString);
+ FileInputStream fileInputStream = new FileInputStream(file);
+ outZip.putNextEntry(zipEntry);
+ int len = 0;
+ byte[] buffer = new byte[1024];
+ while ((len=fileInputStream.read(buffer))!=-1){
+ outZip.write(buffer,0,len);
+ }
+ outZip.closeEntry();
+ }else{
+ //鏂囦欢澶�
+ String []fileList = file.list();
+ //娌℃湁瀛愭枃浠剁殑鍘嬬缉
+ if (fileList.length<=0){
+ ZipEntry zipEntry = new ZipEntry(fileString+File.separator);
+ outZip.putNextEntry(zipEntry);
+ outZip.closeEntry();
+ }else{
+ for (int i = 0; i < fileList.length; i++) {
+ zipFiles(folderString+fileString+"/",fileList[i],outZip);
+ }
+ }
+ }
+
+ }
}
--
Gitblit v1.8.0