traverseAndReplaceText function

Future<void> traverseAndReplaceText(
  1. String rootDir,
  2. String targetText,
  3. String replacementText
)

遍历指定目录及其子目录,并替换文件中的指定文本。

Implementation

Future<void> traverseAndReplaceText(
  String rootDir,
  String targetText,
  String replacementText,
) async {
  final directory = Directory(rootDir);

  // 如果传入的目录不存在,抛出异常
  if (!await directory.exists()) {
    throw Exception("目录不存在: $rootDir");
  }

  // 遍历目录下的所有文件和子目录
  await for (var entity in directory.list(
    recursive: true,
    followLinks: false,
  )) {
    if (entity is File) {
      await _replaceTextInFile(entity, targetText, replacementText);
    }
  }
}