zhaowenyu
2025-11-06 ef497a4547843e1ade23d80f40bc682dca952ed0
ard-route/src/main/java/com/ard/route/util/ToolUtils.java
@@ -8,6 +8,17 @@
 */
public class ToolUtils {
    public static Boolean isLocal = false;
    public static String localFilePath = "KmzFile/kmz/";
    public static String kmzPath = "kmz";
    /**
     * XML 头部
     */
    public static final String XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
    /**
     * 生成KMZ文件名称规则
     */
@@ -40,4 +51,38 @@
        return fileNameWithExt;
    }
    /**
     * 从URL中提取文件路径部分
     * @param url 完整的URL字符串
     * @return 文件路径部分
     */
    public static String extractFilePath(String url) {
        if (url == null || url.isEmpty()) {
            return "";
        }
        // 找到最后一个 "kmz/" 的位置,加上4以包含 "kmz/"
        int index = url.lastIndexOf("kmz/");
        if (index != -1) {
            return url.substring(index + 4); // +4 跳过 "kmz/"
        }
        // 如果没有找到 "kmz/",尝试其他方式
        return extractPathByDomain(url);
    }
    /**
     * 备选方法:通过域名后的第一个斜杠来提取
     */
    private static String extractPathByDomain(String url) {
        // 移除协议头
        String withoutProtocol = url.replaceFirst("^https?://", "");
        // 找到第一个斜杠位置
        int slashIndex = withoutProtocol.indexOf("/");
        if (slashIndex != -1) {
            return withoutProtocol.substring(slashIndex + 1);
        }
        return "";
    }
}