getParentDirPath static method

String? getParentDirPath(
  1. String in_path
)

获取文件或文件夹的父目录路径

Implementation

static String? getParentDirPath(String in_path) {
  int i = in_path.length;
  // 去掉末尾的 / 或 \
  while (i-- > 0) {
    if (in_path[i] != '/' && in_path[i] != r'\') {
      break;
    }
  }
  if (i < 0 && in_path.isNotEmpty) {
    // 全是 / 或 \
    return "/";
  }
  for (; i-- > 0;) {
    if (in_path[i] == '/' || in_path[i] == r'\') {
      if (i == in_path.length) {
        return "";
      } else {
        return in_path.substring(0, i + 1);
      }
    }
  }
  // 前面没有 /
  // xxx
  // 尾部有 / ,但前面没有 /,仍应丢弃
  // xxx/
  return null;
}