我正在使用Flutter将“资产”加载到,File
以便本机应用程序可以访问它。
这是我加载资产的方式:
final dbBytes = await rootBundle.load('assets/file');
返回的实例ByteData
。
如何将其写入dart.io.File
实例?
ByteData
是以下内容的抽象:
固定长度的字节随机访问序列,还提供对这些字节表示的固定宽度整数和浮点数的随机且未对齐的访问。
正如Gunter在评论中提到的那样,您可以使用File.writeAsBytes
。这确实需要一些API的工作从得到ByteData
的List<int>
,但是。
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));
}
我还提出了一个问题,以使Flutter上的文档在此用例中更加清晰。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句