writeFileStream method

  1. @override
Future<void> writeFileStream(
  1. String filePath,
  2. Stream<Uint8List> dataStream
)
override

Writes a stream of bytes to a file at the given path Creates the file if it doesn't exist, overwrites if it does

Implementation

@override
Future<void> writeFileStream(
    String filePath, Stream<Uint8List> dataStream) async {
  // Collect all chunks into a single Uint8List for download
  final chunks = <Uint8List>[];
  await for (final chunk in dataStream) {
    chunks.add(chunk);
  }

  // Calculate total size
  final totalSize = chunks.fold<int>(0, (sum, chunk) => sum + chunk.length);
  final combined = Uint8List(totalSize);

  // Copy all chunks into combined buffer
  var offset = 0;
  for (final chunk in chunks) {
    combined.setRange(offset, offset + chunk.length, chunk);
    offset += chunk.length;
  }

  await writeFile(filePath, combined);
}