gpt4 book ai didi

dart - 将 Assets 从包复制到文件系统

转载 作者:IT王子 更新时间:2023-10-29 06:39:03 25 4
gpt4 key购买 nike

我正在尝试将 sqlite 数据库从根包复制到文件系统以便使用它。

我尝试了很多不同的方法,但最终总是将错误数量的数据写入磁盘。我使用的代码如下所示:

Directory appDocDir = await getExternalStorageDirectory();
String path = join(appDocDir.path, "data.db");
bool exists = await new File(path).exists();
if (!exists) {
var out = new File(path).openWrite();

var data = await rootBundle.load("assets/data.sqlite");
var list = data.buffer.asUint8List();
out.write(list);
out.close();
}

最佳答案

我能够通过以下方式做到这一点。

ByteData data = await rootBundle.load("data.sqlite");
List<int> bytes = data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);

Directory appDocDir = await getApplicationDocumentsDirectory()
String path = join(appDocDir.path, "data.db");
await File(path).writeAsBytes(bytes);

关于dart - 将 Assets 从包复制到文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44991975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com