由于不同系统,路径的信息表示不同,但是最后的处理却是使用同一格式的,
比如:输入的路径为:D:\\kassdev\\app-kaace\\classes\\com\\kass\\commons\\utils,
需要输出的路径信息为:D:/kassdev/app-kaace/classes/com/kass/commons/utils
以下的代码,对这种情况进行了处理
public static String parsePath(final String path){
if(path==null || path.length()==0)
return "";
if(path.indexOf("\\")>=0){
String path2 = path.replaceAll("\\\\", "/");
while(path2.indexOf("//")>=0){
path2 = path2.replaceAll("//", "/");
}
if(path2.endsWith("/") && !path2.equals("/")){
path2 = path2.substring(0, path2.length()-1);
}
return path2;
}else{
if(path.indexOf("//")>=0){
String path2 = path.replaceAll("//", "/");
while(path2.indexOf("//")>=0){
path2 = path2.replaceAll("//", "/");
}
if(path2.endsWith("/") && !path2.equals("/")){
path2 = path2.substring(0, path2.length()-1);
}
return path2;
}else{
if(path.endsWith("/") && !path.equals("/")){
String path2 = path.substring(0, path.length()-1);
return path2;
}else{
return path;
}
}
}
}
将一个路径进行标准化的解析, 防止路径中连续出现多个‘/’,以及防止路径中出现'\', 防止路径结尾出现 '/'