public static void Extract(string zipFileName) { ZipReader reader = new ZipReader(zipFileName); Console.WriteLine("Archive: {0}", zipFileName); Console.WriteLine(reader.Comment); // buffer to hold temp bytes byte[] buffer = new byte[4096]; int byteCount; // Get the zipped entries while (reader.MoveNext()) { ZipEntry entry = reader.Current; if (entry.IsDirectory) { Directory.CreateDirectory(entry.Name); } else { Console.Write(" {0}", entry.Name); // create output stream FileStream writer = File.Open(entry.Name, FileMode.Create); // write uncompressed data while ((byteCount = reader.Read(buffer, 0, buffer.Length)) > 0) { Console.Write("."); writer.Write(buffer, 0, byteCount); } writer.Close(); Console.WriteLine(); } } reader.Close(); }