如何获取当前文件的路径?(类似于__FILE__PHP 中的常量或 C 中的宏)例如:
a.飞镖:
import './b.dart';
void main() => print(path());
Run Code Online (Sandbox Code Playgroud)
b.飞镖:
import 'dart:io';
String path() => Platform.script.toFilePath();
Run Code Online (Sandbox Code Playgroud)
上面的代码打印了调用脚本a.dart的路径。我怎样才能改变b.dart获得路径b.dart代替,这样无论我打电话path()从项目中,我总能得到正确的路径b.dart?
这可能并不适用于所有情况(我指的是平台和可执行格式),但它就像剥梨一样简单:
import 'package:stack_trace/stack_trace.dart';
void main(List<String> args) {
final frame = _frame(); // <==== /E:/prj/dart_test/bin/main.dart at line 4
print('file: ${frame.uri.path}');
print('lime: ${frame.line}');
}
Frame _frame() {
return Frame.caller(1);
}
Run Code Online (Sandbox Code Playgroud)
结果:
file: /E:/prj/dart_test/bin/main.dart
lime: 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |