copyFolder static method

Future<void> copyFolder(
  1. {required String sourcePath,
  2. required String destinationPath}
)

Implementation

static Future<void> copyFolder({
  required String sourcePath,
  required String destinationPath,
}) async {
  Directory sourceDir = Directory(sourcePath);
  Directory destDir = Directory(destinationPath);
  if (!await destDir.exists()) {
    await destDir.create(recursive: true);
  }
  List<FileSystemEntity> contents = sourceDir.listSync();
  for (var entity in contents) {
    String newPath = path.join(destinationPath, path.basename(entity.path));
    if (entity is Directory) {
      await copyFolder(sourcePath: entity.path, destinationPath: newPath);
    } else if (entity is File) {
      await entity.copy(newPath);
    }
  }
}