我试图读取列表项中的.txt文件(从资产),所以我正在这样做:
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
负责读取资产并处理编码,因此您获得了String。LineSplitter.convert
在字符串上使用:
String jolo = await rootBundle.loadString('assets/jolo.txt');
List<Item> list =
LineSplitter().convert(jolo).map((s) => Item(name: s)).toList();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句