save method
Save
Implementation
Future<void> save({String? newPath}) async {
var filePath = newPath ?? _filePath!;
var file = File(filePath);
// Write the file.
var fileHandle = file.openWrite(mode: FileMode.writeOnly);
/// Header Section
_headerSection.groupCodes.forEach((element) {
fileHandle.writeln(element.code.toString().padLeft(3, ' '));
fileHandle.writeln(element.value);
});
/// Classes Section
_classesSection.groupCodes.forEach((element) {
fileHandle.writeln(element.code.toString().padLeft(3, ' '));
fileHandle.writeln(element.value);
});
/// Tables Section
_tablesSection.groupCodes.forEach((element) {
fileHandle.writeln(element.code.toString().padLeft(3, ' '));
fileHandle.writeln(element.value);
});
/// Blocks Section
_blocksSection.groupCodes.forEach((element) {
fileHandle.writeln(element.code.toString().padLeft(3, ' '));
fileHandle.writeln(element.value);
});
/// Entities Section
fileHandle.writeln(_entitiesSection.dxfString);
/// Objects Section
_objectsSection.groupCodes.forEach((element) {
fileHandle.writeln(element.code.toString().padLeft(3, ' '));
fileHandle.writeln(element.value);
});
/// EOF
fileHandle.writeln(0.toString().padLeft(3, ' '));
fileHandle.writeln('EOF');
await fileHandle.close();
}