copyFiles static method

Future<void> copyFiles({
  1. required String inputDir,
  2. required String outputDir,
})

复制文件

Implementation

static Future<void> copyFiles({
  required String inputDir,
  required String outputDir,
}) async {
  final inputDirectory = Directory(inputDir);
  final outputDirectory = Directory(outputDir);

  if (!await inputDirectory.exists()) {
    _print('copy files input directory does not exist: $inputDir');
    return;
  }

  await outputDirectory.create(recursive: true);

  await for (final entity in inputDirectory.list(recursive: true)) {
    if (entity is File) {
      final relativePath = entity.path.substring(
        inputDirectory.path.length + 1,
      );
      final newPath = '${outputDirectory.path}/$relativePath';

      await File(newPath).parent.create(recursive: true);
      await entity.copy(newPath);
    }
  }
}