Exemple #1
0
        public static void UncompressZip(string archiveFile, string directory)
        {
            Log.Information("Uncompressing {File} to {Directory} ...", Path.GetFileName(archiveFile), directory);

            using var fileStream = File.OpenRead(archiveFile);
            using var zipFile    = new ICSharpCode.SharpZipLib.Zip.ZipFile(fileStream);

            var entries = zipFile.Cast <ZipEntry>().Where(x => !x.IsDirectory);

            foreach (var entry in entries)
            {
                var file = PathConstruction.Combine(directory, entry.Name);
                FileSystemTasks.EnsureExistingParentDirectory(file);

                using var entryStream  = zipFile.GetInputStream(entry);
                using var outputStream = File.Open(file, FileMode.Create);
                entryStream.CopyTo(outputStream);
            }
        }
Exemple #2
0
        public static void UncompressZip(string archiveFile, string directory)
        {
            using (var fileStream = File.OpenRead(archiveFile))
                using (var zipFile = new ICSharpCode.SharpZipLib.Zip.ZipFile(fileStream))
                {
                    var entries = zipFile.Cast <ZipEntry>().Where(x => !x.IsDirectory);
                    foreach (var entry in entries)
                    {
                        var file = PathConstruction.Combine(directory, entry.Name);
                        FileSystemTasks.EnsureExistingParentDirectory(file);

                        using (var entryStream = zipFile.GetInputStream(entry))
                            using (var outputStream = File.Open(file, FileMode.Create))
                            {
                                entryStream.CopyTo(outputStream);
                            }
                    }
                }

            Logger.Info($"Uncompressed '{archiveFile}' to '{directory}'.");
        }