我使用flatter将"assets资源 "加载到File中,以便本机应用程序可以访问它.

这是我加载assets资源 的方式:

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

这将返回一个ByteData的实例.

我怎样才能把这写到一个dart.io.File实例上呢?

推荐答案

ByteData是对以下内容的抽象:

一种固定长度的随机字节存取序列,它还提供

正如冈特在 comments 中提到的,你可以使用File.writeAsBytes.然而,从ByteDataList<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文档更清晰.

Dart相关问答推荐

Dart:当两个或多个任务等待同一个 Future 时会发生什么

Flutter 网页打开网址并获取数据

当未指定返回类型时,dart 显示另一个函数内部的确切返回类型,但对于顶层函数显示为动态

Flutter 是否提供即时应用程序?

dart nullsafey 和使用旧包

停止从事件侦听器内部侦听事件

什么时候在 Dart 中使用interfaces接口?

我可以动态应用 Dart 的字符串插值吗?

如何在 Dart 中设置文本框的值?

Flutter更新导航栏

为http POST请求从Flutter上的TextFormField捕获数据

Firebase Crashlytics 崩溃未报告给 Flutter 中的 Firebase 控制台

当文本在 Flutter 中溢出时如何使 Text 小部件像选取框一样

如何 Select 性地传递可选参数?

dart2js代码比javascript快多少?

如何循环遍历元素列表

用于 dartlang 的 REPL

将`_`(即下划线)作为唯一参数传递给 Dart 语言函数是什么意思?

如何在 Dart 中引用另一个文件?

如何在构造函数中初始化最终类属性?