关于当前程序运行环境的详细信息。
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 以字符串形式获取操作系统的名称。您还可以使用以下静态布尔获取器之一:isMacOS、isLinux、isWindows 等。
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