public void CreateArchive(string filename) { BinaryWriter bw = new BinaryWriter(new FileStream(filename, FileMode.Create)); FileHeader tempHead = new FileHeader(); tempHead.Write(bw); FileIndex tempFileIndex = new FileIndex(); tempFileIndex.TotalEntries = 0; tempFileIndex.Write(bw); FolderIndex tempFolderIndex = new FolderIndex(); tempFolderIndex.TotalEntries = 0; tempFolderIndex.Write(bw); bw.Close(); }
private void WriteFAT(int fileIndexOffset) { BinaryWriter bw = new BinaryWriter(stream); // Write the index to it's new position. stream.Position = fileIndexOffset; fileIndex.Write(bw); int folderIndexOffset = (int)stream.Position; folderIndex.Write(bw); // Update the file header. stream.Position = 0; header.FileIndexOffset = fileIndexOffset; header.FolderIndexOffset = folderIndexOffset; header.Write(new BinaryWriter(stream)); // Save. stream.Flush(); }