static void Main(string[] args) { string Input = ""; string Output = ""; Stream InputStream = new MemoryStream(); //Stream OutputStream = new MemoryStream(); StreamOperator StmOper = new StreamOperator(); var ParamSeparator = new Reewer.FileUtils.ParamSeparator(args); Input = ParamSeparator.GetParamValueS(cInput); Output = ParamSeparator.GetParamValueS(cOutput); MujDelegat mojeInFce = StreamFactory.GetInputStream(Input, StmOper); MujDelegat mojeOutFce = StreamFactory.GetOutputStream(Input, StmOper); if (mojeInFce != null) if (mojeInFce(Input, InputStream)) mojeOutFce(Input, InputStream); /* bool Succ = false; if (Input == "") { Console.WriteLine("\nZdrojovy soubor neexistuje !\n"); Console.WriteLine("Zadejte vstupni soubor > "); Input = Console.ReadLine(); } if (Input != "") { if (File.Exists(Input)) { Succ = StmOper.FileToStream(Input, InputStream); } else if (Input.IndexOf("FTP://", StringComparison.OrdinalIgnoreCase) > 0) { // dodelat FromFtp } else if (Input.IndexOf("HTTP://", StringComparison.OrdinalIgnoreCase) > 0) { Succ = StmOper.UrlToStream(Input, InputStream); } } else { Console.WriteLine("\nNeznámý zdroj !\n"); } if (Succ) { if (Output.IndexOf("FTP://", StringComparison.OrdinalIgnoreCase) > 0) { // dodelat } else if (Output.IndexOf("HTTP://", StringComparison.OrdinalIgnoreCase) > 0) { // dodelat } else if (Output != "") { Succ = StmOper.StreamToFile(InputStream, Output); } else { Console.WriteLine("Zadejte vystupni soubor > "); Output = Console.ReadLine(); if (Output != "") { Succ = StmOper.StreamToFile(InputStream, Output); } else Succ = false; } }*/ }
public static MujDelegat GetInputStream(string input, StreamOperator stmOper) { if (input != "") { if (File.Exists(input)) { return stmOper.FileToStream; } else if (input.IndexOf("FTP://", StringComparison.OrdinalIgnoreCase) > 0) { // dodelat FromFtp } else if (input.IndexOf("HTTP://", StringComparison.OrdinalIgnoreCase) > 0) { return stmOper.UrlToStream; } } else { Console.WriteLine("\nNeznámý zdroj !\n"); } return null; }
public static MujDelegat GetOutputStream(string output, StreamOperator stmOper) { if (output.IndexOf("FTP://", StringComparison.OrdinalIgnoreCase) > 0) { // dodelat } else if (output.IndexOf("HTTP://", StringComparison.OrdinalIgnoreCase) > 0) { // dodelat } else if (output != "") { return stmOper.StreamToFile; } else { //dodelat console } throw new ArgumentException("Nepodarilo se vytvorit stream provider"); }
static void Main(string[] args) { Console.WriteLine("A Kopirovat soubor"); Console.WriteLine("B Stahnout URL"); Console.WriteLine("--------"); Console.WriteLine("Esc Konec"); ConsoleKeyInfo cki; Console.TreatControlCAsInput = true; do { cki = Console.ReadKey(); if (cki.Key != ConsoleKey.Escape) { switch (cki.Key) { case ConsoleKey.A: { Console.WriteLine("Zadejte vstupni soubor > "); string FileFrom = Console.ReadLine(); Console.WriteLine("Zadejte vystupni soubor > "); string FileTo = Console.ReadLine(); if (File.Exists(FileFrom)) { FileStream FileFromStm = File.OpenRead(FileFrom); if (File.Exists(FileTo)) { File.Delete(FileTo); } FileStream FileToStm = File.OpenWrite(FileTo); StreamOperator StmOper = new StreamOperator(); Stream Stm = new MemoryStream(); if (StmOper.FileToStream(FileFrom, Stm)) { if (StmOper.StreamToFile(Stm, FileTo)) { Console.WriteLine("\nHotovo !\n"); } } } else Console.WriteLine("\nZdrojovy soubor neexistuje !\n"); break; } case ConsoleKey.B: { Console.WriteLine("Zadejte vstupni URL > "); string URL = Console.ReadLine(); Console.WriteLine("Zadejte vystupni soubor > "); string FileTo = Console.ReadLine(); if (File.Exists(FileTo)) { File.Delete(FileTo); } FileStream FileToStm = File.OpenWrite(FileTo); StreamOperator StmOper = new StreamOperator(); Stream Stm = File.OpenWrite(FileTo); if (StmOper.UrlToStream(URL, Stm)) { if (StmOper.StreamToFile(Stm, FileTo)) { Console.WriteLine("\nHotovo !\n"); } } break; } default: { break; } } } } while (cki.Key != ConsoleKey.Escape); }