/// <summary> /// Updates a file's data /// </summary> /// <param name="index">index of original file</param> /// <param name="fileName">name of file on disc</param> public void UpdateFile(int index, string fileName) { using (IOReader reader = new IOReader(File.OpenRead(fileName))) UpdateFile(index,reader.ReadAllBytes()); }
/// <summary> /// Adds a file to the zip /// </summary> /// <param name="fileName">input file name</param> public void AddFile(string fileName) { using (IOReader reader = new IOReader(File.OpenRead(fileName))) { byte[] fileBuf = reader.ReadAllBytes(); CentralDirectoryEntry entry = new CentralDirectoryEntry(); entry.FileName = FixupPath(fileName); entry.FileSize = (uint)fileBuf.Length; entry.FileData = fileBuf; ZipFile file = new ZipFile(entry, this.m_lZipDirectory.Count + 1); this.m_lZipDirectory.Add(file); this.m_lZipDirectory.Sort(); } }
/// <summary> /// Creates a zip /// </summary> /// <param name="dir">directory to construct from</param> /// <param name="output">output zip</param> public void CreateZip(string dir, string output) { string[] fileEntries = Directory.GetFiles(dir,"*.*",SearchOption.AllDirectories); CentralDirectoryEntry entry; ZipFile file; this.m_lZipDirectory = new List<ZipFile>(fileEntries.Length); foreach (string fileName in fileEntries) { using (IOReader reader = new IOReader(File.OpenRead(fileName))) { entry = new CentralDirectoryEntry(); entry.FileData = reader.ReadAllBytes(); entry.FileName = fileName.Substring(dir.Length + 1); file = new ZipFile(entry); this.m_lZipDirectory.Add(file); } } GetGame(); this.m_lZipDirectory.Sort(); Save(output, false); }