diff --git a/lib/day1/command.dart b/lib/day1/command.dart index fb786c5..c649310 100644 --- a/lib/day1/command.dart +++ b/lib/day1/command.dart @@ -1,3 +1,6 @@ +import "dart:convert"; +import "dart:io"; + import "package:args/command_runner.dart"; class Day1Command extends Command { @@ -19,6 +22,31 @@ class Day1Command extends Command { void run() { // [argResults] is set before [run()] is called and contains the flags/options // passed to this command. - print(argResults?.rest); + print(argResults!.rest); + + if (argResults!.rest.length != 1) { + print( + "Expected 1 positional arguments, found ${argResults!.rest.length}", + ); + } + var fileName = argResults!.rest[0]; + + var inputFile = File(fileName); + var openFile = inputFile.openRead(); + + openFile + .transform(utf8.decoder) + .transform(LineSplitter()) + .listen( + (String line) { + print('$line: ${line.length} bytes'); + }, + onDone: () { + print('File is now closed.'); + }, + onError: (e) { + print(e.toString()); + }, + ); } }