一尘不染

Flutter-从资产读取文本文件

flutter

我有一个文本文件(.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);

但是,当我使用fileNamelike时'assets/res/my_file.txt',出现错误:Unable to load asset: assets/res/my_file.txt

还值得注意的是,我正在尝试通过单元测试来做到这一点。有关如何正确执行此操作的任何想法?谢谢!


阅读 512

收藏
2020-08-13

共1个答案

一尘不染

文件夹名称“ assets”不是神奇添加的。更新您的信息pubspec.yaml以包含资产的完整路径。

flutter:
  assets:
    - assets/res/my_file.txt
2020-08-13