我需要将列表存储在文本文件中作为对象本身。
我目前可以使用path_provider
void save() async{
final directory = await getApplicationDocumentsDirectory();
String path = '${directory.path}/newfile.txt';
final file = File(path);
await file.writeAsString(arr.join());
}
但是可以存储列表本身,以便在重启后打开文件后可以按原样访问列表。
答案 0 :(得分:0)
将变量保存在文本文件中不是最佳解决方案。随着列表的增加,您可能需要一个数据库解决方案。但是对于内部包含几个值的列表,您可以。这是一个简单的代码,可从文件中读取/写入列表。
SELECT STATEMENT
TABLE ACCESS T BY INDEX ROWID
BITMAP CONVERSION TO ROWID
BITMAP OR
BITMAP INDEX COL1_IDX SINGLE VALUE
BITMAP INDEX COL2_IDX SINGLE VALUE
您还可以考虑使用 String specialChar = '*';
Future<void> save(List<String> list) async {
final directory = await getApplicationDocumentsDirectory();
String path = '${directory.path}/newfile.txt';
final file = File(path);
await file.writeAsString(list.join(specialChar));
}
Future<List<String>> read() async {
final directory = await getApplicationDocumentsDirectory();
String path = '${directory.path}/newfile.txt';
final file = File(path);
String raw = await file.readAsString();
return raw.split(specialChar);
}
库。这是用于存储简单的键/值配对数据的简单解决方案。
答案 1 :(得分:0)