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. [...]
@pragma('vm:entry-point'), 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, as packages/ 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