public ZipFileExtractor (Stream archiveStream) { ArgumentUtility.CheckNotNull ("archiveStream", archiveStream); _archiveStream = archiveStream; _zipFile = new ZipFile (_archiveStream); _zipFile.NameTransform = new WindowsNameTransform(); var directoryTreeResolver = new DirectoryTreeResolver (DateTime.Now); _files = GetFilesInternal(directoryTreeResolver); _root = new InMemoryDirectoryInfo ("\\\\", null, DateTime.UtcNow, DateTime.UtcNow, DateTime.UtcNow); _root.Directories.AddRange (directoryTreeResolver.GetRootDirectories()); }
private IFileInfo[] GetFilesInternal (DirectoryTreeResolver treeResolver) { var files = new List<IFileInfo>(); foreach (ZipEntry zipEntry in _zipFile) { if (zipEntry.IsFile) { var localZipEntry = zipEntry; var fileInfo = treeResolver.GetFileInfoWithPath ( _zipFile.NameTransform.TransformFile (localZipEntry.Name), (fileName, directory) => new ExtractedZipEntryAsFileInfo (_zipFile, localZipEntry, directory)); files.Add (fileInfo); } } return files.ToArray(); }
public void SetUp () { _resolver = new DirectoryTreeResolver (new DateTime (2000, 1, 1)); }