C#/기초
C#에서 Binary 방식 직렬화(Serialization) 예제 소스
떡잎
2012. 12. 12. 18:43
이 글에는 왜 직렬화를 하는지는 언급하지 않는다.
바이너리 파일로 직렬화를 하면 파일이 바이너리 형식으로 저장된다.
using System;
using System.IO;
using System.Collections;
using System.Runtime.Serialization.Formatters.Binary;
namespace SerializationBin
{
class Program
{
static void Main(string[] args)
{
ArrayList MyList = new ArrayList();
for (int i = 0; i < 5; i++)
{
MyList.Add(i);
}
for (int i = 0; i < MyList.Count; i++)
{
Console.WriteLine(MyList[i]);
}
Console.WriteLine();
FileStream StreamOut = new FileStream("TestBin", FileMode.Create);
// Binary 직렬화 Fomatter
BinaryFormatter BinaryOut = new BinaryFormatter();
Console.WriteLine("#Serializing");
// 직렬화 serializing
BinaryOut.Serialize(StreamOut, MyList);
StreamOut.Close();
//============================================================
FileStream StreamIn = new FileStream("TestBin", FileMode.Open);
BinaryFormatter BinaryIn = new BinaryFormatter();
Console.WriteLine("#Deserializing");
Console.WriteLine();
// 역직렬화 Deserializing
ArrayList ListReadData = (ArrayList)BinaryIn.Deserialize(StreamIn);
StreamIn.Close();
for (int i = 0; i < ListReadData.Count; i++)
{
Console.WriteLine(ListReadData[i]);
}
Console.ReadLine();
}
}
}
Binary 방식 직렬화에서 참조하는 using System.Runtime.Serialization.Formatters.Binary는 별도로 참조를 하지 않아도 기본적으로 참조되어있다.