android - 在 Dart 中读取一个 "TXT"文件

标签 android ios dart flutter

我试图读取列表项目中的 .txt 文件(来自 Assets ),所以我这样做了:

list.add(await rootBundle.loadString('assets/jolo.txt'));

它将整个文档放入“数据”中,但显示列表为空。

所以我尝试了其他方法:

new File('assets/jolo.txt')
  .openRead()
  .transform(utf8.decoder)
  .transform(new LineSplitter())
  .forEach((l) => list.add(Item(name: l)));

但这会给我一个错误: FileSystemException:无法打开文件,路径 = 'assets/jolo.txt'(操作系统错误:没有这样的文件或目录,errno = 2)

我能做什么?我使用纯文本将每一行放入一个项目中以显示整个列表

最佳答案

要加载您必须使用的资源包。 loadString 负责读取 Assets 并处理编码,以便您获得一个字符串。在字符串上使用 LineSplitter.convert:

String jolo = await rootBundle.loadString('assets/jolo.txt');
List<Item> list =
    LineSplitter().convert(jolo).map((s) => Item(name: s)).toList();

关于android - 在 Dart 中读取一个 "TXT"文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52350031/

相关文章:

用于启动设备上所有已安装应用程序的 Android 应用程序

android - 将位图上传到 Ruby Rails 服务器

objective-c - UITableView:从空白部分隐藏标题

dart - 将Dart用作DSL

android - 结果不正确 : Formatting ISO-8601 Time And Extract 12 Hour Time

android - 如何在android中的折叠工具栏布局中放置 ScrollView ?

ios - 如何在 Swift 中添加带有 GIF 背景的 UIButtons?

ios - 如何在 Swift 中通过按下按钮来遍历函数

dart - 如何在 Dart 中查找集合的所有子集?

dart - 在 iOS 中关闭键盘首字符的自动大写? flutter