示例#1
0
        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);
        }