【发布时间】:2017-12-02 14:50:22
【问题描述】:
我有一个文本文件 (.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);
但是,当我使用 fileName 之类的 'assets/res/my_file.txt' 时,出现错误:Unable to load asset: assets/res/my_file.txt。
还值得注意的是,我正在尝试通过单元测试来做到这一点。关于如何正确执行此操作的任何想法?谢谢!
【问题讨论】:
-
不进行单元测试时是否可以正常工作?
-
不。我在一个基本的应用程序中测试过,没有用。
-
值得注意的是,当我在不进行单元测试时确实让它工作后,我仍然无法在单元测试中成功。我会一直收到
unable to load asset。