From de821f0a99e234ce8e336b1775e90169e875cdd5 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Tue, 09 Apr 2024 09:44:38 +0800
Subject: [PATCH] 图斑生成kmz航线文件,入库并返回前端,优化图斑模块
---
src/main/java/com/dji/sample/patches/utils/ZipUtil.java | 84 +----------------------------------------
1 files changed, 3 insertions(+), 81 deletions(-)
diff --git a/src/main/java/com/dji/sample/patches/utils/ZipUtil.java b/src/main/java/com/dji/sample/patches/utils/ZipUtil.java
index cb593bc..4afa3d9 100644
--- a/src/main/java/com/dji/sample/patches/utils/ZipUtil.java
+++ b/src/main/java/com/dji/sample/patches/utils/ZipUtil.java
@@ -13,23 +13,8 @@
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
-
-/**
- * @author soulmate丶
- * @date 2021-10-26
- */
@Configuration
public class ZipUtil {
-
-
- /**
- * 保存zip文件到本地并调用解压方法并返回解压出的文件的路径集合
- *
- * @param file 文件
- * @return list //解压出的文件的路径合集
- */
- private static String zipPath = "D:/ceshi/tuban.zip";//zip根路径
-
/**
* zip解压
*
@@ -126,6 +111,7 @@
// 空文件的删除
file.delete();
}
+
// 定义一个公共的静态方法zipFolder,用于压缩文件夹
// 参数sourceFolderPath是源文件夹的路径,zipFilePath是压缩后的zip文件路径
public static boolean zipFolder(String sourceFolderPath, String zipFilePath) {
@@ -147,7 +133,7 @@
return false;
}
- // 定义一个私有的静态方法zipFile,用于递归地压缩文件和文件夹
+ // 将文件夹整体压缩
// 参数fileToZip是需要被压缩的文件或文件夹,fileName是其在zip中的名称,zos是ZipOutputStream对象
private static void zipFile(File fileToZip, String fileName, ZipOutputStream zos) throws IOException {
// 如果fileToZip是一个隐藏文件,则不进行压缩,直接返回
@@ -190,68 +176,4 @@
// 关闭FileInputStream对象,释放资源
fis.close();
}
- public static void compressAndRename(String sourceFilePath, String destinationZipFilePath, String newFileName) throws IOException {
- FileOutputStream fos = new FileOutputStream(destinationZipFilePath);
- ZipOutputStream zos = new ZipOutputStream(fos);
-
- File file = new File(sourceFilePath);
- FileInputStream fis = new FileInputStream(file);
-
- ZipEntry zipEntry = new ZipEntry(newFileName);
- zos.putNextEntry(zipEntry);
-
- byte[] bytes = new byte[1024];
- int length;
- while ((length = fis.read(bytes)) >= 0) {
- zos.write(bytes, 0, length);
- }
-
- zos.closeEntry();
- fis.close();
- zos.close();
- }
-
- public static void compressToKMZ(String kmlFilePath, String wpmlFilePath, String destinationKMZFilePath) throws IOException {
- FileOutputStream fos = new FileOutputStream(destinationKMZFilePath);
- ZipOutputStream zos = new ZipOutputStream(fos);
-
- byte[] buffer = new byte[1024];
-
- // 添加KML文件
- addFileToKMZ(zos, kmlFilePath, "doc.kml", buffer);
-
- // 添加WPML文件
- addFileToKMZ(zos, wpmlFilePath, "data.wpml", buffer);
-
- zos.close();
- }
-
- private static void addFileToKMZ(ZipOutputStream zos, String filePath, String entryName, byte[] buffer) throws IOException {
- File file = new File(filePath);
- FileInputStream fis = new FileInputStream(file);
- ZipEntry zipEntry = new ZipEntry(entryName);
- zos.putNextEntry(zipEntry);
-
- int length;
- while ((length = fis.read(buffer)) > 0) {
- zos.write(buffer, 0, length);
- }
-
- fis.close();
- zos.closeEntry();
- }
- public static void main(String[] args) throws IOException {
- String kmzFileName="航线001";
- String kmlFilePath = "src/main/resources/template/wpmz/template.kml"; // KML文件路径
- String wpmlFilePath = "src/main/resources/template/wpmz/waylines.wpml"; // WPML文件路径
- String destinationKMZFilePath = "src/main/resources/template/zip/" + kmzFileName + ".kmz";
- try {
- compressToKMZ(kmlFilePath, wpmlFilePath, destinationKMZFilePath);
- System.out.println("Files compressed to KMZ successfully.");
- } catch (IOException e) {
- e.printStackTrace();
- System.out.println("Error compressing files to KMZ: " + e.getMessage());
- }
- }
-}
-
+}
\ No newline at end of file
--
Gitblit v1.9.3