我使用flatter将"assets资源 "加载到File
中,以便本机应用程序可以访问它.
这是我加载assets资源 的方式:
final dbBytes = await rootBundle.load('assets/file');
这将返回一个ByteData
的实例.
我怎样才能把这写到一个dart.io.File
实例上呢?
我使用flatter将"assets资源 "加载到File
中,以便本机应用程序可以访问它.
这是我加载assets资源 的方式:
final dbBytes = await rootBundle.load('assets/file');
这将返回一个ByteData
的实例.
我怎样才能把这写到一个dart.io.File
实例上呢?
ByteData
是对以下内容的抽象:
一种固定长度的随机字节存取序列,它还提供
正如冈特在 comments 中提到的,你可以使用File.writeAsBytes
.然而,从ByteData
到List<int>
确实需要一些API工作.
import 'dart:async';
import 'dart:io';
import 'dart:typed_data';
Future<void> writeToFile(ByteData data, String path) {
final buffer = data.buffer;
return new File(path).writeAsBytes(
buffer.asUint8List(data.offsetInBytes, data.lengthInBytes));
}
我还准备了filed an issue个来让这个用例的Ffltter文档更清晰.