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)); } } }
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(); } } } }