parentOf 静态方法

String parentOf(
  1. String path
)

路径的父路径。

通过使用平台路径分隔符来分割路径,找到路径的最后一个组件,并返回该组件之前的所有部分。

不会删除 Windows 路径的根组件,如 "C:" 或 "\\服务器名\"。在 path 的最后一部分中包含一个尾部路径分隔符,且没有尾部路径分隔符。

实现

static String parentOf(String path) {
  int rootEnd = -1;
  if (Platform.isWindows) {
    if (path.startsWith(_absoluteWindowsPathPattern)) {
      // Root ends at first / or \ after the first two characters.
      rootEnd = path.indexOf(new RegExp(r'[/\\]'), 2);
      if (rootEnd == -1) return path;
    } else if (path.startsWith('\\') || path.startsWith('/')) {
      rootEnd = 0;
    }
  } else if (path.startsWith('/')) {
    rootEnd = 0;
  }
  // Ignore trailing slashes.
  // All non-trivial cases have separators between two non-separators.
  int pos = path.lastIndexOf(_parentRegExp);
  if (pos > rootEnd) {
    return path.substring(0, pos + 1);
  } else if (rootEnd > -1) {
    return path.substring(0, rootEnd + 1);
  } else {
    return '.';
  }
}