Exemplo n.º 1
0
        public SevenZipDirectoryInfo(BaseFileInfo fileInfo)
        {
            //TODO Add directory support
            _sevenZipPath = fileInfo.FullPath;
            _lastModifiedTime = fileInfo.LastModifiedTime;
            _parentDir = fileInfo.Directory;

            //Read content table
            using (FileStream fs = File.OpenRead(_sevenZipPath))
            {
                ArchiveDatabaseEx archivedatabaseex;
                new SzIn().szArchiveOpen(fs, out archivedatabaseex);

                for (int i = 0; i < archivedatabaseex.Database.NumFiles; i++)
                {
                    FileItem file = archivedatabaseex.Database.Files[i];
                    if (file.IsDirectory)
                        continue;
                    _fileInfos.Add(new SevenZipFileInfo(this, _sevenZipPath, (uint) i, file));
                }
            }
        }
Exemplo n.º 2
0
        public ZipDirectoryInfo(BaseFileInfo fileInfo)
        {
            //TODO Add directory support
            _zipPath = fileInfo.FullPath;
            _lastModifiedTime = fileInfo.LastModifiedTime;
            _parentDir = fileInfo.Directory;

            using (FileStream fs = File.OpenRead(_zipPath))
            {
                using (ZipInputStream zs = new ZipInputStream(fs))
                {
                    ZipEntry entry;
                    while ((entry = zs.GetNextEntry()) != null)
                    {
                        if (!entry.IsFile)
                            continue;
                        _fileInfos.Add(new ZipFileInfo(this, _zipPath, entry));
                        _fileInfos.Sort();
                    }
                }
            }
        }