Platform class
Information about the environment in which the current program is running.
Platform provides information such as the operating system, the hostname of the computer, the value of environment variables, the path to the running program, and so on.
Get the URI to the current Dart script
Use the script getter to get the URI to the currently running Dart script.
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();
}
Get the value of an environment variable
The environment getter returns a the names and values of environment
variables in a Map that contains key-value pairs of strings. The Map is
unmodifiable. This sample shows how to get the value of the PATH
environment variable.
import 'dart:io' show Platform;
void main() {
Map<String, String> envVars = Platform.environment;
print(envVars['PATH']);
}
Determine the OS
You can get the name of the operating system as a string with the operatingSystem getter. You can also use one of the static boolean getters: isMacOS, isLinux, and isWindows.
import 'dart:io' show Platform, stdout;
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');
}
}
Other resources
Dart by Example provides additional task-oriented code samples that show how to use various API from the dart:io library.
Constructors
- Platform()
Properties
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
noSuchMethod(
Invocation invocation ) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
toString(
) → String -
Returns a string representation of this object.
inherited
Operators
-
operator ==(
dynamic other ) → bool -
The equality operator. [...]
inherited
Static Properties
-
environment
→ Map<
String, String> -
The environment for this process as a map from string key to string value. [...]
read-only
- executable → String
-
The path of the executable used to run the script in this isolate. [...]
read-only
-
executableArguments
→ List<
String> -
The flags passed to the executable used to run the script in this isolate. [...]
read-only
- isAndroid → bool
-
Whether the operating system is a version of
Android.
final
- isFuchsia → bool
-
Whether the operating system is a version of
Fuchsia.
final
- isIOS → bool
-
Whether the operating system is a version of
iOS.
final
- isLinux → bool
-
Whether the operating system is a version of
Linux. [...]
final
- isMacOS → bool
-
Whether the operating system is a version of
macOS.
final
- isWindows → bool
-
Whether the operating system is a version of
Microsoft Windows.
final
- localeName → String
-
Get the name of the current locale.
read-only
- localHostname → String
-
The local hostname for the system.
read-only
- numberOfProcessors → int
-
The number of individual execution units of the machine.
read-only
- operatingSystem → String
-
A string representing the operating system or platform.
read-only
- operatingSystemVersion → String
-
A string representing the version of the operating system or platform.
read-only
- packageConfig → String
-
The
--packages
flag passed to the executable used to run the script in this isolate. [...]read-only - packageRoot → String
-
This returns
null
, aspackages/
directories are no longer supported.@Deprecated('packages/ directory resolution is not supported in Dart 2'), read-only - pathSeparator → String
-
The path separator used by the operating system to separate
components in file paths.
read-only
- resolvedExecutable → String
-
The path of the executable used to run the script in this
isolate after it has been resolved by the OS. [...]
read-only
- script → Uri
-
The absolute URI of the script being run in this isolate. [...]
read-only
- version → String
-
The version of the current Dart runtime. [...]
read-only