listFiles static method

Future<List<String>> listFiles(
  1. String directory, {
  2. String? pattern,
  3. bool recursive = false,
})

List files in directory with optional pattern

Implementation

static Future<List<String>> listFiles(
  String directory, {
  String? pattern,
  bool recursive = false,
}) async {
  final dir = Directory(directory);
  if (!await dir.exists()) {
    return [];
  }

  final files = <String>[];
  await for (final entity in dir.list(recursive: recursive)) {
    if (entity is File) {
      final path = entity.path;
      if (pattern == null || path.endsWith(pattern)) {
        files.add(path);
      }
    }
  }
  return files;
}