flutter - 在flutter中从资产中读取文件后逐行读取字符串
问题描述
我可以成功读取文件,但只处理了一部分行。如您所见:通过String类的split方法拆分原始字符串,我不知道为什么。是否有另一种方法将字符串拆分为行?
String rawStr = rootBundle.loadString('assets/sql/create_tables');
List<String> list = rawStr.split("\n");
list.map( (e) {
print("> $e");
db.execute(e);
});
我希望所有的行都会被处理。
从 assets 和 process 中逐行读取的代码应该如下。
String rawStr = rootBundle.loadString('assets/sql/create_tables');
Iterable<String> list = LineSplitter.split(rawStr);
list.forEach((e){
if (e?.isEmpty ?? true) {
//Do nothing
} else {
print("> $e");
db.execute(e);
}
});
解决方案
尝试使用forEach()
如下所示。
list.forEach((e){
print("> $e");
db.execute(e);
});
祝你好运。
推荐阅读
- r - 从列表中制作一个矩阵,在 R 中具有某些重复的行和列
- python - 创建 SPS_HOME 环境变量时遇到问题
- apache-spark - 在现有 spark 数据集的开头添加一行
- algorithm - 展平高度图以满足步长要求
- angular - Angular拦截器:仅在第一个返回后才发送请求
- coq - 无法证明非标准递归函数的微不足道的引理
- javascript - Slider Revolution 无法更改文本/按钮颜色
- firefox-addon - Firefox(Hunspell)在拼写检查单词之前如何以及如何清理文本?
- windows - Windows Defender 根据扫描结果创建工作流
- javascript - 使用javascript从字符串中删除时间