我希望能够拥有一个文件
assets/someFile.txt
并将其添加到应用程序中,以使该文件已经位于文件系统上可供访问。我不希望它位于 Flutter 的 rootbundle(又名资产存档)中。
// This is what I want to be able to do.
String filePath = '${await getApplicationDocumentsDirectory()}/someFile.txt';
File myFile = File(filePath);
// Not this
// Read the file from the rootbundle
String data = await rootBundle.loadString('assets/someFile.txt');
// create a file on the filesystem and write the data to it.
我想要这个的原因是因为我正在使用一个库(Objectbox),它需要一个包含我的数据的文件。准备好一个可以立即使用的文件比必须先从 assetbundle 中读取一个文件、创建一个文件然后将数据写入其中要好。
有没有办法向 Flutter 指定某个资源应该作为文件放入应用程序中,而不是包含在 rootbundle 中?
结论 Flutter 不直接支持将资源放置在 rootBundle 之外的文件系统上。
如果您的资源文件太大,从文件服务器下载它们是一个实用的解决方案。这种方法减少了应用程序包的大小并允许动态更新。