コード例 #1
0
		public static void ExtractStreamToFileSystem(this Stream compressedStream, IFileSystemWriter writer)
		{
			using (var zipInputStream = new ZipInputStream(compressedStream))
			{
				foreach (var currentEntry in zipInputStream.ToList())
				{
					string entryDirectory = Path.GetDirectoryName(currentEntry.Name);
					string entryFileName = Path.GetFileName(currentEntry.Name);
					if (entryDirectory.Length > 0) writer.CreateDirectory(entryDirectory);
					if (string.IsNullOrEmpty(entryFileName)) continue;
					writer.CreateFile(zipInputStream, Path.Combine(entryDirectory, entryFileName));
				}
			}
		}