dart stream读取大文件写入文件

请注意,如果写入时用writeAsBytes, 则可能写入不完整,程序就结束了。
所以一定要用writeAsBytesSync。

import 'dart:io';

main() async {
  Stream<List<int>> content = File('test.mp4').openRead();


  File newfile = File("b.mp4");

  if(newfile.existsSync()){
    newfile.deleteSync();
  }

  content.listen((x)=>
    newfile.writeAsBytesSync(x,mode: FileMode.append,flush: true)
    ).
  onDone(() {print("done");});

}

首发:https://www.kkivew.com

你可能感兴趣的:(flutter/dart,flutter)