Platformfinal

关于当前程序运行环境的详细信息。

Platform 提供有关操作系统、计算机主机名、环境变量值、运行程序的路径以及正在运行程序的其他全局属性等信息。

获取当前 Dart 脚本的 URI

使用 script getter 获取当前正在运行的 Dart 脚本的 URI。

import 'dart:io' show Platform;

void main() {
  // Get the URI of the script being run.
  var uri = Platform.script;
  // Convert the URI to a path.
  var path = uri.toFilePath();
}

获取环境变量的值

environment getter 返回一个包含字符串键值对的 Map 的名称和值。该 Map 是不可修改的。以下示例演示了如何获取 PATH 环境变量的值。

import 'dart:io' show Platform;

void main() {
  Map<String, String> envVars = Platform.environment;
  print(envVars['PATH']);
}

确定操作系统

您可以使用 operatingSystem getter 以字符串形式获取操作系统的名称。您还可以使用以下静态布尔获取器之一:isMacOSisLinuxisWindows 等。

import 'dart:io' show Platform;

void main() {
  // Get the operating system as a string.
  String os = Platform.operatingSystem;
  // Or, use a predicate getter.
  if (Platform.isMacOS) {
    print('is a Mac');
  } else {
    print('is not a Mac');
  }
}

构造函数

Platform()

属性

hashCode int
此对象的哈希值。
no setterinherited
runtimeType Type
对象的运行时类型的表示。
no setterinherited

方法

noSuchMethod(Invocation invocation) → dynamic
在访问不存在的方法或属性时调用。
inherited
toString() String
此对象的字符串表示。
inherited

运算符

operator ==(Object other) bool
等于运算符。
inherited

静态属性

environment Map<String, String>
此进程的环境,并以字符串键到字符串值映射的形式。
no setter
executable String
用于在此隔离区运行脚本的可执行文件路径。通常在 Dart VM 上运行时为 dart 或编译后的脚本名称(script_name.exe)。
no setter
executableArguments List<String>
传给用于在此隔离区运行脚本的可执行文件的标志。
no setter
isAndroid bool
操作系统是否为 Android 的版本。
final
isFuchsia bool
操作系统是否为Fuchsia版本。
final
isIOS bool
操作系统是否为iOS版本。
final
isLinux bool
操作系统是否为Linux版本。
final
isMacOS bool
操作系统是否为macOS版本。
final
isWindows bool
操作系统是否为Microsoft Windows版本。
final
lineTerminator String
当前操作系统的默认换行符。
no setter
localeName String
获取当前区域名称。
no setter
localHostname String
系统的本地主机名。
final
numberOfProcessors int
机器的执行单元数量。
final
operatingSystem String
表示操作系统或平台的字符串。
final
operatingSystemVersion String
表示操作系统或平台版本的字符串。
final
packageConfig String?
传递给用于在当前隔离器中运行脚本的可执行文件的--packages标志。
no setter
pathSeparator String
操作系统在文件路径中用于分隔组件的路径分隔符。
final
resolvedExecutable String
在由操作系统解析后,用于在当前隔离器中运行脚本的可执行文件路径。
no setter
script Uri
当前隔离器中运行的脚本的绝对URI。
no setter
version String
当前Dart运行时的版本。
final