static void Main(string[] args) { Stream ws = new FileStream("a.txt", FileMode.Create); // 객체를 직렬화/역직렬화하는 클래스 BinaryFormatter serializer = new BinaryFormatter(); NameCard nc = new NameCard(); nc.Name = "아이유"; nc.Phone = "010-444-4444"; nc.Age = 28; // 클래스 직렬화 -> FileStream에 기록 serializer.Serialize(ws, nc); // nc 객체를 직렬화하여 ws에 작성 ws.Close(); // FileStream에서 클래스 역직렬화 Stream rs = new FileStream("a.txt", FileMode.Open); BinaryFormatter deserializer = new BinaryFormatter(); NameCard nc2; nc2 = deserializer.Deserialize(rs) as NameCard; rs.Close(); Console.WriteLine(nc2.Name); Console.WriteLine(nc2.Phone); Console.WriteLine(nc2.Age); }
static void Main(string[] args) { // 객체 직렬화 Stream ws = new FileStream("a.txt", FileMode.Create); BinaryFormatter serializer = new BinaryFormatter(); // 객체를 직렬화하는 클래스 NameCard nameCard = new NameCard("아이유", "444-4444", 28); serializer.Serialize(ws, nameCard); // nameCard 객체를 직렬화해서 FileStream에 기록 ws.Close(); // 객체 역직렬화 Stream rs = new FileStream("a.txt", FileMode.Open); BinaryFormatter deserializer = new BinaryFormatter(); NameCard nameCard2; nameCard2 = deserializer.Deserialize(rs) as NameCard; //nameCard2 = (NameCard)deserializer.Deserialize(rs); rs.Close(); Console.WriteLine(nameCard2.Name); Console.WriteLine(nameCard2.Phone); Console.WriteLine(nameCard2.Age); }