[英]Read String line by line after read from file in assets in flutter
我可以成功讀取文件,但只處理了一部分行。 如您所見:通過String類的split方法分割原始字符串,不知道為什么。 還有另一種方法可以將 String 拆分成行嗎?
String rawStr = rootBundle.loadString('assets/sql/create_tables');
List<String> list = rawStr.split("\n");
list.map( (e) {
print("> $e");
db.execute(e);
});
我希望所有的行都會被處理。
從資產和流程中逐行讀取的代碼應如下所示。
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);
});
祝你好運。
以下是使用 LineSplitter 讀取字符串的方法:
void _loadFile() async {
String data = await rootBundle.loadString('assets/myfile.txt');
LineSplitter.split(data).forEach((line) => print('$line'));
}
用您的數據加載功能替換打印。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.