import 'dart:io';
void main() {
var path = Platform.script.path;
print(path);
}
输出
/C:/Users/user/dart/test/bin/test.dart
但我想得到
C:/Users/user/dart/test/bin/test.dart
什么是让操作系统特定路径准备好在这个操作系统中使用的推荐方法?
附言
如果我在不同的平台上运行测试代码,我会得到不同的结果。
所以,测试。
运行时:Dart SDK 版本 1.1.1 (STABLE)
代码:
import 'dart:io';
void main() {
var path = Platform.script.path;
print(path);
// From doc: Creates a new file URI from an absolute or relative file path.
var uri = new Uri.file(path);
print(uri.path);
}
Ubuntu 13.10:
/home/andrew/dart/test/bin/test.dart
/home/andrew/dart/test/bin/test.dart
Windows 7的:
/C:/Users/user/dart/test/bin/test.dart
Breaking on exception: Illegal argument(s): Illegal character in path}
Unhandled exception:
Illegal argument(s): Illegal character in path}
这种行为使我无法编写跨平台代码。