From d905ec7b23f1f17ace3a3557b569a38ab85c8a77 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期三, 27 九月 2023 10:59:49 +0800
Subject: [PATCH] 西区手环项目修改接口地址2
---
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/FileUtil.java | 84 +++++++++++++++++++++++++++++++++++++++++-
1 files changed, 82 insertions(+), 2 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/FileUtil.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/FileUtil.java
index 54db2c6..f7690d1 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/FileUtil.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/FileUtil.java
@@ -1,7 +1,8 @@
package com.panzhihua.common.utlis;
-import java.io.File;
-import java.io.InputStream;
+import java.io.*;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipOutputStream;
public class FileUtil {
@@ -32,4 +33,83 @@
public static File readUserHomeFile(String pathName) {
return new File(System.getProperty("user.home") + File.separator + pathName);
}
+
+ /**
+ * 压缩文件
+ *
+ * @param sourceFilePath 源文件路径
+ * @param zipFilePath 压缩后文件存储路径
+ * @param zipFilename 压缩文件名
+ */
+ public static void compressToZip(String sourceFilePath, String zipFilePath, String zipFilename) {
+ File sourceFile = new File(sourceFilePath);
+ File zipPath = new File(zipFilePath);
+ if (!zipPath.exists()) {
+ zipPath.mkdirs();
+ }
+ File zipFile = new File(zipPath + File.separator + zipFilename);
+ try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(zipFile))) {
+ writeZip(sourceFile, "", zos);
+ //文件压缩完成后,删除被压缩文件
+ boolean flag = deleteDir(sourceFile);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException(e.getMessage(), e.getCause());
+ }
+ }
+
+ /**
+ * 遍历所有文件,压缩
+ *
+ * @param file 源文件目录
+ * @param parentPath 压缩文件目录
+ * @param zos 文件流
+ */
+ private static void writeZip(File file, String parentPath, ZipOutputStream zos) {
+ if (file.isDirectory()) {
+ //目录
+ parentPath += file.getName() + File.separator;
+ File[] files = file.listFiles();
+ for (File f : files) {
+ writeZip(f, parentPath, zos);
+ }
+ } else {
+ //文件
+ try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) {
+ //指定zip文件夹
+ ZipEntry zipEntry = new ZipEntry(parentPath + file.getName());
+ zos.putNextEntry(zipEntry);
+ int len;
+ byte[] buffer = new byte[1024 * 10];
+ while ((len = bis.read(buffer, 0, buffer.length)) != -1) {
+ zos.write(buffer, 0, len);
+ zos.flush();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException(e.getMessage(), e.getCause());
+ }
+ }
+
+ /**
+ * 删除文件夹
+ *
+ * @param dir
+ * @return
+ */
+
+ }
+ private static boolean deleteDir (File dir){
+ if (dir.isDirectory()) {
+ String[] children = dir.list();
+ for (int i = 0; i < children.length; i++) {
+ boolean success = deleteDir(new File(dir, children[i]));
+ if (!success) {
+ return false;
+ }
+ }
+ }
+ //删除空文件夹
+ return dir.delete();
+ }
}
--
Gitblit v1.7.1