code: public static String getIntersectPath(String ph0, String ph1, String dft) {
          // 木可能有交集
          if (null == ph0 || null == ph1)
              return dft;
  
          String[] ss0 = Strings.splitIgnoreBlank(ph0, "[\\\\/]");
          String[] ss1 = Strings.splitIgnoreBlank(ph1, "[\\\\/]");
  
          int pos = 0;
          int len = Math.min(ss0.length, ss1.length);
          for (; pos < len; pos++) {
              if (!ss0[pos].equals(ss1[pos]))
                  break;
          }
  
          // 木有交集
          if (pos == 0)
              return dft;
  
          // 得到
          String re = Lang.concat(0, pos, "/", ss0).toString();
  
          // 需要补全后面的 "/" 吗
          if (ph0.endsWith("/") && ph1.endsWith("/"))
              return re + "/";
  
          return re;
      }
docs: 获取两个路径从头部开始计算的交集
  
  @param ph0
  路径1
  @param ph1
  路径2
  @param dft
  如果两个路径完全没有相交，那么返回什么
  @return 两个路径的交集