簡體   English   中英

從 flutter 中的資產中的文件讀取后,逐行讀取字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM