copyDirectory static method

Future<void> copyDirectory(
  1. Directory source,
  2. Directory destination
)

Implementation

static Future<void> copyDirectory(
    Directory source, Directory destination) async {
  await destination.create(recursive: true);

  await for (final entity in source.list(recursive: false)) {
    if (entity is Directory) {
      final newDirectory = Directory(
        path.join(destination.path, path.basename(entity.path)),
      );
      await copyDirectory(entity, newDirectory);
    } else if (entity is File) {
      await entity.copy(
        path.join(destination.path, path.basename(entity.path)),
      );
    }
  }
}