将一个路径进行标准化的解析, 防止路径中连续出现多个‘/’,以及防止路径中出现'\', 防止路径结尾出现 '/'

由于不同系统,路径的信息表示不同,但是最后的处理却是使用同一格式的,

比如:输入的路径为: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;
      }
    }
  }
}

posted on 2016-03-31 10:09  夜晚的猫头鹰  阅读(413)  评论(0编辑  收藏  举报

导航