从flutter中的文件中读取文件后如何将String拆分为行

时间:2019-08-04 07:22:51

标签: flutter dart

我可以成功读取文件,但是仅处理了其中一部分行。如您所见:通过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);
}
});

2 个答案:

答案 0 :(得分:1)

尝试使用forEach(),如下所示。

list.forEach((e){
   print("> $e");
   db.execute(e);
});

祝你好运。

答案 1 :(得分:1)

以下是使用LineSplitter读取字符串的方法:

wallet = openWallet(networkWallet(), 0, ::KWallet::Wallet::Asynchronous);
...
QString password;
int result = readPassword(wallet, *i, password);
...
deleteWallet(wallet);

用数据加载功能替换打印。