如何使用flutter将数据保存到csv文件上?

问题描述 投票:0回答:1

我的数据通过蓝牙从设备传输到我的 flutter 应用程序。 我有在警报上一一显示的列表。我想收集所有警报的数据,然后将其保存在 csv 文件中。 问题是创建了很多文件,并且每个文件只包含一个列表,这意味着对于每个警报都会创建一个文件。 这是代码:

setupMode.generateCsv((message) async {
      List<List<String>> data = [
        ["No.", "X", " Y", "Z", "Z"],
        [message.data[1], message.data[2], message.data[3], message.data[4]],
      ];

      String csvData = ListToCsvConverter().convert(data);
      final String directory = (await getApplicationSupportDirectory()).path;
      final path = "$directory/csv-${DateTime.now()}.csv";
      print(path);
      final File file = File(path);
      await file.writeAsString(csvData);
      print("file saved");
      print(csvData.length);
    });
  }

我想收集所有数据并将其存储在一个文件中。

flutter csv dart file store
1个回答
0
投票

为了写入一个文件,您需要更改两件事:

文件名称:

final path = "$directory/csv-${DateTime.now()}.csv";

每次调用它时都会创建一个新文件。您应该使用相同的文件名,例如:

final path = "$directory/csv-alert-data.csv";

第二个变化是写入类型:

await file.writeAsString(csvData,mode:FileMode.append);

这会将新数据附加到现有 CSV 文件的末尾。

© www.soinside.com 2019 - 2024. All rights reserved.