static void Decompress(string[] args) { if (args.Length < 2) { Console.WriteLine("Source file wasn't specified"); ShowUsage(); return; } var source = args[1]; var target = args.Length < 3 ? source : args[2]; var mem = new MemoryStream(); using (var file = File.Open(source, FileMode.Open, FileAccess.Read)) { var facade = new SwfMillFacade(); facade.Decompress(file, mem); } mem.Seek(0, SeekOrigin.Begin); using (var file = File.Open(target, FileMode.Create, FileAccess.ReadWrite)) { mem.WriteTo(file); } }