Example #1
0
        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);
        }
Example #2
0
        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);
        }