put method
Writes contents to path: a String (as UTF-8), a List<int> of
bytes, or a Stream<List<int>>. Replaces any file there.
Implementation
Future<void> put(String path, Object contents) => _run(path, () async {
_guardWrite('put');
final String target = _resolve(path);
if (contents is String) {
await driver.write(target, utf8.encode(contents));
} else if (contents is List<int>) {
await driver.write(target, contents);
} else if (contents is Stream<List<int>>) {
await driver.writeStream(target, contents);
} else {
throw ArgumentError.value(
contents,
'contents',
'Expected a String, a List<int> of bytes, or a Stream<List<int>>',
);
}
_written(target);
});