| | |
| | | */ |
| | | 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文件名称规则 |
| | | */ |
| | |
| | | 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 ""; |
| | | } |
| | | |
| | | } |