我试图读取列表项目中的 .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/