bool ConvertFile(ref BML bml) { bool result = true; //Console.WriteLine("Exporting to {0}...", filename_dst); if (File.Exists(filename_dst)) { //Console.WriteLine("Warning: destination file will be replaced"); File.Delete(filename_dst); } BinaryWriter bw = new BinaryWriter(File.OpenWrite(filename_dst)); if (CheckExtension(filename_dst, "xml")) { string data = ""; bml.ExportXML(ref data); // writing raw data otherwise we get the string encoding header bw.Write(Encoding.Default.GetBytes(data), 0, data.Length); } else if (CheckExtension(filename_dst)) { bml.ExportBML(bw); } else { result = false; //Console.WriteLine("Unexpected destination file type \"{0}\"", filename_dst); } bw.Close(); return(result); }