본문 바로가기

Tip !!!/C# tip

Serialize 사용 안하고 이진파일로 구조체 / Class 저장하고 읽기

Serialize 사용 안하고 이진파일로 구조체 / Class 저장하고 읽기

규조체 내부에 이진파일 Write() Read() 메소드 만들어 사용

struct Data
        {
               public int i;
               public string s;

               public void Write(System.IO.BinaryWriter _bw)
               { 
                     _bw.Write(i);
                     _bw.Write(s);
               }

               public void Read(System.IO.BinaryReader _br) 
               {
                     i=_br.ReadInt32();
                     s=_br.ReadString();
               }
        } //  구조체 끝


        static void Main()
        {
             Data[] data = new Data[2];     / /     구조체 배열 생성 
             data[0].i = 1;
             data[0].s = "string1";
             data[1].i = 22;
             data[1].s = "string22";

            System.IO.BinaryWriter bw =

                                      new BinaryWriter(new FileStream("binary_test.txt", FileMode.Create));
            foreach (Data item in data) item.Write(bw);
            bw.Close(); 
            
            System.IO.BinaryReader br = 

                                       new BinaryReader(File.Open("binary_test.txt", FileMode.Open));
            foreach (Data item in data)
            {
                item.Read(br);
                Console.WriteLine($" {item.i} {item.s}");
            }

            br.Close();


        } // 메인 끝

1 string1                     // Console 결과
 22 string22
계속하려면 아무 키나 누르십시오 . . .