gpt4 book ai didi

dart - 在 Dart 的库下读取静态文件?

转载 作者:行者123 更新时间:2023-12-04 17:23:03 30 4
gpt4 key购买 nike

我正在用 Dart 编写一个库,我在库文件夹下有静态文件。我希望能够读取这些文件,但我不确定如何检索它的路径...没有像其他文件那样的 __FILE__$0语言。

更新: 看来我还不够清楚。让这有助于您了解我:

test.dart

import 'foo.dart';

void main() {
print(Foo.getMyPath());
}

foo.dart

library asd;

class Foo {
static Path getMyPath() => new Path('resources/');
}

它给了我错误的文件夹位置。它给了我 test.dart + resources/ 的路径,但我想要 foo.dart + resources/.

最佳答案

如前所述,您可以使用镜像。这是一个使用您想要实现的目标的示例:

test.dart

import 'foo.dart';

void main() {
print(Foo.getMyPath());
}

foo.dart

library asd;

import 'dart:mirrors';

class Foo {
static Path getMyPath() => new Path('${currentMirrorSystem().libraries['asd'].url}/resources/');
}

它应该输出如下内容:

/Users/Kai/test/lib/resources/

在未来的版本中可能会有更好的方法来做到这一点。如果是这种情况,我会更新答案。

更新:您还可以在库中定义一个私有(private)方法:

/**
* Returns the path to the root of this library.
*/
_getRootPath() {
var pathString = new Path(currentMirrorSystem().libraries['LIBNAME'].url).directoryPath.toString().replaceFirst('file:///', '');
return pathString;
}

关于dart - 在 Dart 的库下读取静态文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12627005/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com