public static CacheStream Save(CacheStream map) { var filename = Path.Combine(Local.MapsDirectory, @"temp.map"); var copyStream = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite, 4 * 1024, FileOptions.SequentialScan); using (copyStream) using ( map ) { map.SaveTo(copyStream); } File.Delete(map.Name); File.Move(filename, map.Name); return(new CacheStream(map.Name)); }
internal static CacheStream SaveAs(CacheStream map, string destFileName) { var filename = Path.Combine(Local.MapsDirectory, @"temp.map"); var copyStream = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite, 4 * 1024, FileOptions.SequentialScan); using (copyStream) using ( map ) { map.SaveTo(copyStream); map.Sign( ); } if (File.Exists(destFileName)) { File.Delete(destFileName); } File.Move(filename, destFileName); return(new CacheStream(destFileName)); }