Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
 private static void RunForSingleFile(IBytesReader bytesReader, CmdOptions options)
 {
     Console.WriteLine(
         bytesReader
         .ReadBytes(options.Path)
         .Format(options.Separator, options.BytesSeparator));
 }
Ejemplo n.º 3
0
 static void Main(string[] args)
 {
     var options = new CmdOptions();
     var parsed  = CommandLine.Parser.Default.ParseArguments <CmdOptions>(args)
                   .WithParsed(o => Setup.RunWithOptions(o));
 }
Ejemplo n.º 4
0
 public CmdOptionsValidator(CmdOptions options)
 {
     _options = options;
 }