AMD Ryzen超频调试终极指南:5分钟快速掌握SMU Debug Tool核心功能
2026/6/17 0:41:05
典型场景:
获取文件路径,拿到的是 d:\data\upload 然后代码中拼接的是/,这样存到库里乱七八糟。
importjava.nio.file.Path;importjava.nio.file.Paths;publicclassPathNormalizer{/** * 统一路径分隔符为正斜杠(推荐用于存储和显示) */publicstaticStringnormalizeToUnix(Stringpath){if(path==null||path.isEmpty()){returnpath;}// 统一替换反斜杠为正斜杠returnpath.replace('\\','/').replaceAll("/+","/");// 合并多个斜杠}/** * 统一为系统默认分隔符(用于文件系统操作) */publicstaticStringnormalizeToSystem(Stringpath){if(path==null||path.isEmpty()){returnpath;}// 先统一为正斜杠,再转为系统分隔符Stringnormalized=normalizeToUnix(path);returnnormalized.replace('/',File.separatorChar);}/** * 安全拼接路径(所有输入先归一化) */publicstaticStringjoin(Stringbase,String...parts){if(base==null){returnnull;}// 归一化基础路径Stringnormalized=normalizeToUnix(base);// 去除末尾斜杠if(normalized.endsWith("/")){normalized=normalized.substring(0,normalized.length()-1);}// 拼接每个部分for(Stringpart:parts){if(part==null||part.isEmpty()){continue;}// 归一化当前部分StringnormalizedPart=normalizeToUnix(part);// 去除开头斜杠if(normalizedPart.startsWith("/")){normalizedPart=normalizedPart.substring(1);}normalized+="/"+normalizedPart;}returnnormalized;}/** * 转换为 Path 对象(自动处理系统分隔符) */publicstaticPathtoPath(Stringpath){if(path==null){returnnull;}returnPaths.get(normalizeToUnix(path));}}