我有一个文本文件(.txt),我想成为一个资产,我可以在以后扫描.
在pubspec.yaml中,我确保:
flutter:
assets:
- res/my_file.txt
Run Code Online (Sandbox Code Playgroud)
存在.该文件位于res/我创建的文件夹中,与lib/android/和的级别相同ios/
我正在尝试从自定义类中读取文件,而不是小部件.
根据文档,我将使用此导入:
import 'package:flutter/services.dart' show rootBundle;
Run Code Online (Sandbox Code Playgroud)
并开始阅读:
/// Assumes the given path is a text-file-asset.
Future<String> getFileData(String path) async {
return await rootBundle.loadString(path);
}
Run Code Online (Sandbox Code Playgroud)
要获得实际数据,请执行以下操作:
String data = await getFileData(fileName);
Run Code Online (Sandbox Code Playgroud)
但是,当我使用fileNamelike时'assets/res/my_file.txt',我收到一个错误:Unable to load asset: assets/res/my_file.txt.
值得注意的是,我正试图通过单元测试来做到这一点.关于如何正确地做到这一点的任何想法?谢谢!