import 'dart:io';
void main() {
var path = Platform.script.path;
print(path);
}
输出在Dart SDK的Windows中如何在不引导“斜线”的情况下如何获得路径字符串?
/C:/Users/user/dart/test/bin/test.dart
但我希望得到
C:/Users/user/dart/test/bin/test.dart
什么建议的方式来获得准备在这个操作系统使用操作系统特定的路径?
P.S.
如果我在不同的平台上运行测试代码,我会得到不同的结果。
因此,测试。
运行:飞镖SDK 1.1.1版(稳定)
代码:
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}
此行为阻止我w rite跨平台代码。
Platform.script.path'的'的值是正确'/ C :/ Users/user/dart/test/bin/test.dart'。URI是以下文件URI:'file:/// C:/ Users/user/dart/test/bin/test.dart'。 [Windows中的文件URI](http://blogs.msdn.com/b/ie/archive/2006/12/06/file-uris-in-windows.aspx)获取更多信息。 – sgjesse