import 'dart:io' as io;

void main() async {
  var timer = Stopwatch()..start();

  var pathList = io.File('files.txt').readAsStringSync().split('\n');
  var contentLength = 0;

  if (1 == 0) {
    await Future.wait(
      pathList.map(
        (path) async {
          // return io.File(path).readAsString().then((content) {
          //   contentLength += content.length;
          // });
          try {
            var content = await io.File(path).readAsString();
            contentLength += content.length;
          } catch (_) {}
          // return io.File(path).readAsString().onError(
          //   (error, stackTrace) {
          //     print('error');
          //     return '';
          //   },
          // );
        },
      ),
    );
  } else {
    for (var path in pathList) {
      try {
        contentLength += io.File(path).readAsStringSync().length;
      } catch (_) {}
    }
  }

  timer.stop();
  print('Time: ${timer.elapsedMilliseconds} ms');
  print('Content: $contentLength bytes');
}
