public static void RunWithOptions(CmdOptions options) { var validator = new CmdOptionsValidator(options); validator.Validate(); var bytesReader = new BytesReader(options.NumberOfBytes); var attr = File.GetAttributes(options.Path); if (!attr.HasFlag(FileAttributes.Directory)) { RunForSingleFile(bytesReader, options); return; } var fileWalker = new FileWalker(options.Path, options.Recursive, options.MaxDepth); var runner = new Runner( bytesReader, fileWalker, options.Separator, options.BytesSeparator); runner.Run(); }
private static void RunForSingleFile(IBytesReader bytesReader, CmdOptions options) { Console.WriteLine( bytesReader .ReadBytes(options.Path) .Format(options.Separator, options.BytesSeparator)); }
static void Main(string[] args) { var options = new CmdOptions(); var parsed = CommandLine.Parser.Default.ParseArguments <CmdOptions>(args) .WithParsed(o => Setup.RunWithOptions(o)); }
public CmdOptionsValidator(CmdOptions options) { _options = options; }