internal static ZipFile Read(string zipfilename, bool TurnOnDebug) { ZipFile zf = new ZipFile(); zf._Debug = TurnOnDebug; zf._name = zipfilename; zf._entries = new System.Collections.Generic.List <ZipEntry>(); ZipEntry e; while ((e = ZipEntry.Read(zf.ReadStream, zf._Debug)) != null) { if (zf._Debug) { System.Console.WriteLine(" ZipFile::Read(): ZipEntry: {0}", e.FileName); } zf._entries.Add(e); } // read the zipfile's central directory structure here. zf._direntries = new System.Collections.Generic.List <ZipDirEntry>(); ZipDirEntry de; while ((de = ZipDirEntry.Read(zf.ReadStream, zf._Debug)) != null) { if (zf._Debug) { System.Console.WriteLine(" ZipFile::Read(): ZipDirEntry: {0}", de.FileName); } zf._direntries.Add(de); } return(zf); }