最佳答案
我有一个文本文件(. txt) ,我想成为一个资产,我可以在稍后扫描。
在 pubspec.yaml 上,我确保:
flutter:
assets:
- res/my_file.txt
该文件位于我创建的 res/
文件夹中,与 lib/android/
和 ios/
处于同一级别
我试图从一个自定义类中读取文件,而不是从一个小部件中。
根据文件,我将使用这个导入:
import 'package:flutter/services.dart' show rootBundle;
然后像这样读:
/// Assumes the given path is a text-file-asset.
Future<String> getFileData(String path) async {
return await rootBundle.loadString(path);
}
为了得到实际的数据,需要:
String data = await getFileData(fileName);
但是,当我使用像 'assets/res/my_file.txt'
这样的 fileName
时,会得到一个错误: Unable to load asset: assets/res/my_file.txt
。
同样值得注意的是,我正在尝试从单元测试中完成这项工作。有什么好主意吗?谢谢!