Пример #1
0
        /// <summary>
        /// Saves the GFF, using a new file name.
        /// </summary>
        /// <param name="fileName">The new file name for the GFF</param>
        public void SaveAs(string fileName)
        {
            // Save the top level structure to the raw data.
            RawGffData rawData = new RawGffData();
            GffStructField.SaveFieldStruct(0xffffffff, topLevel, rawData);

            // Create a header for the GFF file.
            string type = Path.GetExtension(fileName);
            type = type.Substring(1, type.Length - 1);
            GffHeader header = new GffHeader(type);
            rawData.InitializeHeader(ref header);

            // Create the disk file and save the header and raw data.
            using (FileStream writer = new FileStream(fileName, FileMode.Create,
                       FileAccess.Write, FileShare.Write))
            {
                header.Serialize(writer);
                rawData.Save(writer);
                writer.Close();
            }
        }