appendDataToFile method
Appends data to an existing file on disk.
- When
pathis provided it takes precedence overfileName. - Otherwise the file is looked up inside filesPath using
fileName. dataTypedrives howdatais appended: strings are appended as text, base64 strings are decoded first, bytes are appended as-is.
Does nothing when data is null/empty or when the target file does
not exist.
Implementation
Future<void> appendDataToFile(
Object? data,
DataType dataType, {
String? fileName,
String? path,
}) async {
if (data == null) return;
if (data is String && data.isEmpty) return;
if (data is List && data.isEmpty) return;
final String resolved = await _resolvePath(fileName, path);
final File file = File(resolved);
if (!file.existsSync()) return;
switch (dataType) {
case DataType.text:
file.writeAsStringSync(data as String, mode: FileMode.append);
break;
case DataType.base64:
file.writeAsBytesSync(
base64Decode(data as String),
mode: FileMode.append,
);
break;
case DataType.bytes:
file.writeAsBytesSync(data as Uint8List, mode: FileMode.append);
break;
}
}