如何在Dart中将`ByteData`实例写入文件?

雷纳托

我正在使用Flutter将“资产”加载到,File以便本机应用程序可以访问它。

这是我加载资产的方式:

final dbBytes = await rootBundle.load('assets/file');

返回的实例ByteData

如何将其写入dart.io.File实例?

马坦鲁里

ByteData 是以下内容的抽象:

固定长度的字节随机访问序列,还提供对这些字节表示的固定宽度整数和浮点数的随机且未对齐的访问。

正如Gunter在评论中提到的那样,您可以使用File.writeAsBytes这确实需要一些API的工作从得到ByteDataList<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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章