modeString 方法

String modeString()

将模式值转换为可读字符串。

字符串格式为 "rwxrwxrwx",反映用户、组和对世界对象读取、写入和执行的权限,用 "-" 替换缺少的权限字母。额外的权限位可能通过在模式字符串前添加 "(suid)"、"(guid)" 和/或 "(sticky)" 来表示。

实现

String modeString() {
  var permissions = mode & 0xFFF;
  var codes = const ['---', '--x', '-w-', '-wx', 'r--', 'r-x', 'rw-', 'rwx'];
  var result = [];
  if ((permissions & 0x800) != 0) result.add("(suid) ");
  if ((permissions & 0x400) != 0) result.add("(guid) ");
  if ((permissions & 0x200) != 0) result.add("(sticky) ");
  result
    ..add(codes[(permissions >> 6) & 0x7])
    ..add(codes[(permissions >> 3) & 0x7])
    ..add(codes[permissions & 0x7]);
  return result.join();
}