【发布时间】:2021-03-26 16:27:39
【问题描述】:
我正在尝试读取/写入将为我的应用程序存储数据的文件(json 文件)。对于我应该在我的项目中保存这样一个文件的位置,我有点困惑。一方面,我似乎应该创建一个资产并按照此处的说明进行操作:
https://flutter.dev/docs/development/ui/assets-and-images#loading-text-assets
另一方面,我似乎应该使用一个叫做“文档目录”的东西
https://flutter.dev/docs/cookbook/persistence/reading-writing-files#1-find-the-correct-local-path
按照第一个链接中的示例,我可以将 json 文件加载到我的应用程序中并使用
loadAsset(‘assets/asset.json’)函数
从这里我可以在这个位置很好地读取一个文件,但我不知道如何写入这个文件。
现在使用第二个链接,我可以使用“文档目录”编写文件。但是,当我尝试查找写入的文件时,我无法在硬盘上的任何位置找到该文件。
所以我的第一个问题是,如果我想存储一个保存我的应用程序状态的文件,我应该在哪里做呢?它应该是一种资产吗?还是应该存放在“文档目录”中?
我的猜测是资产用于只读资产,例如静态配置文件和图像,而“文档目录”是我想存储我的应用程序数据的方式。这是正确的吗?
如果是这样,当我调试我的应用程序时,如何将文件放入我的“文档目录”以及它在我的项目结构中的什么位置?
当我打印写入文件的位置时,它是:
'/data/user/0/com.example.flutter_expansion_tile_05/app_flutter/tree.json'
这不是我电脑上的有效位置。
我猜“文档目录”(AppData目录)只有在我的手机上运行时才有意义,而不是在我的PC上以调试模式运行时才有意义???
【问题讨论】: