private static void PackFilesToDirectory(string path, string searchString , VRage.Compression.MyZipArchive arc) { int len = path.Length + 1; foreach (var file in Directory.GetFiles(path, searchString, SearchOption.AllDirectories)) { using (var inStream = File.Open(file, FileMode.Open, FileAccess.Read, FileShare.Read)) { using (var outStream = arc.AddFile(file.Substring(len), VRage.Compression.CompressionMethodEnum.Deflated, VRage.Compression.DeflateOptionEnum.Maximum).GetStream(FileMode.Open, FileAccess.Write)) { inStream.CopyTo(outStream, 0x1000); } } } }