using System; using System.IO; using Ionic.Zip; using UnityEngine; namespace GISTech.GISDataDownloader { public class ZipUtil { public static void Zip(string zipFileName, params string[] files) { Directory.CreateDirectory(Path.GetDirectoryName(zipFileName)); using ZipFile zipFile = new ZipFile(); foreach (string fileName in files) { zipFile.AddFile(fileName, ""); } zipFile.Save(zipFileName); } public static void Unzip(string zipFilePath, string location) { Directory.CreateDirectory(location); try { using ZipFile zipFile = ZipFile.Read(zipFilePath); zipFile.ExtractAll(location, ExtractExistingFileAction.OverwriteSilently); } catch (Exception ex) { Debug.LogError("Error while extracting Data ... Try againe " + ex); File.Delete(zipFilePath); } } } }