public static void ToBinaryFile(DataNode mainNode, string fileName, DataNodeBinary.BinaryFormat format = DataNodeBinary.BinaryFormat.Encrypted) { using (BinaryWriter binaryWriter = new BinaryWriter(File.Open(fileName, FileMode.Create))) { DataNodeBinary.ToBinaryStream(mainNode, binaryWriter, format); } }
public static byte[] ToBinaryBytes(DataNode mainNode, DataNodeBinary.BinaryFormat format = DataNodeBinary.BinaryFormat.Encrypted) { byte[] result; using (MemoryStream memoryStream = new MemoryStream(65536)) { using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream)) { DataNodeBinary.ToBinaryStream(mainNode, binaryWriter, format); result = memoryStream.ToArray(); } } return(result); }
public static void ToBinaryStream(DataNode mainNode, BinaryWriter writer, DataNodeBinary.BinaryFormat format) { writer.Write("DEF2"); switch (format) { case DataNodeBinary.BinaryFormat.Simple: DataNodeBinary.WriteSimpleFormat(mainNode, writer); break; case DataNodeBinary.BinaryFormat.SimpleCompresssed: DataNodeBinary.WriteCompressedFormat(mainNode, writer); break; case DataNodeBinary.BinaryFormat.Encrypted: DataNodeBinary.WriteEncryptedFormat(mainNode, writer); break; default: throw new ArgumentOutOfRangeException("format"); } }