예제 #1
0
 /// <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());
 }
예제 #2
0
 /// <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();
     }
 }
예제 #3
0
 /// <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);
 }