【发布时间】:2020-05-28 15:00:40
【问题描述】:
我的应用程序的 Document 文件夹中有一个名为“bio.txt”的“.txt”文件。 我想读取其内容并将其存储在 String 变量中。 我的问题是“阅读动作”是一个“未来”功能,我很难将其值保存在“字符串”中。
我读了文件:
Future<String> get _localPath async {
final directory = await getApplicationDocumentsDirectory();
return directory.path;
}
Future<File> _localFile(String name) async {
final path = await _localPath;
return File('$path/$name');
}
Future<String> _read(String filename) async {
try {
final file = await _localFile(filename);
// Read the file.
return await file.readAsString();
} catch (e) {
// If encountering an error, return 0.
return "Can't read";
}
}
我想保存它:
String _bio = _read("bio.txt").then((value) => String);
您知道为什么这个解决方案不起作用吗? 有什么建议吗?
【问题讨论】:
-
你可以在dart.dev/codelabs/async-await阅读更多关于异步/期货的信息。
标签: string flutter asynchronous dart