From 80b6cbfc9c861469146318d0b3dd5f8b8b525b8a Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期五, 01 十一月 2024 15:11:19 +0800
Subject: [PATCH] Revert "集成获取mdm分发通用数据格式接口集成"

---
 Source/BladeX-Tool/blade-core-tool/src/main/java/org/springblade/core/tool/utils/PathUtil.java |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/Source/BladeX-Tool/blade-core-tool/src/main/java/org/springblade/core/tool/utils/PathUtil.java b/Source/BladeX-Tool/blade-core-tool/src/main/java/org/springblade/core/tool/utils/PathUtil.java
new file mode 100644
index 0000000..3dcfe74
--- /dev/null
+++ b/Source/BladeX-Tool/blade-core-tool/src/main/java/org/springblade/core/tool/utils/PathUtil.java
@@ -0,0 +1,64 @@
+package org.springblade.core.tool.utils;
+
+import org.springframework.lang.Nullable;
+
+import java.io.File;
+import java.net.URL;
+
+/**
+ * 鐢ㄦ潵鑾峰彇鍚勭鐩綍
+ *
+ * @author L.cm
+ */
+public class PathUtil {
+	public static final String FILE_PROTOCOL = "file";
+	public static final String JAR_PROTOCOL = "jar";
+	public static final String ZIP_PROTOCOL = "zip";
+	public static final String FILE_PROTOCOL_PREFIX = "file:";
+	public static final String JAR_FILE_SEPARATOR = "!/";
+
+	/**
+	 * 鑾峰彇jar鍖呰繍琛屾椂鐨勫綋鍓嶇洰褰�
+	 *
+	 * @return {String}
+	 */
+	@Nullable
+	public static String getJarPath() {
+		try {
+			URL url = PathUtil.class.getResource(StringPool.SLASH).toURI().toURL();
+			return PathUtil.toFilePath(url);
+		} catch (Exception e) {
+			String path = PathUtil.class.getResource(StringPool.EMPTY).getPath();
+			return new File(path).getParentFile().getParentFile().getAbsolutePath();
+		}
+	}
+
+	/**
+	 * 杞崲涓烘枃浠惰矾寰�
+	 *
+	 * @param url 璺緞
+	 * @return {String}
+	 */
+	@Nullable
+	public static String toFilePath(@Nullable URL url) {
+		if (url == null) {
+			return null;
+		}
+		String protocol = url.getProtocol();
+		String file = UrlUtil.decode(url.getPath(), Charsets.UTF_8);
+		if (FILE_PROTOCOL.equals(protocol)) {
+			return new File(file).getParentFile().getParentFile().getAbsolutePath();
+		} else if (JAR_PROTOCOL.equals(protocol) || ZIP_PROTOCOL.equals(protocol)) {
+			int ipos = file.indexOf(JAR_FILE_SEPARATOR);
+			if (ipos > 0) {
+				file = file.substring(0, ipos);
+			}
+			if (file.startsWith(FILE_PROTOCOL_PREFIX)) {
+				file = file.substring(FILE_PROTOCOL_PREFIX.length());
+			}
+			return new File(file).getParentFile().getAbsolutePath();
+		}
+		return file;
+	}
+
+}

--
Gitblit v1.9.3