序列化与反序列化(备忘)

    技术2022-05-18  13

       try

                {

                    #region "序列化"

     

                    MemoryStream ms = new MemoryStream();

                    Image img = Image.FromFile(@"G:/Windows/Web/Wallpaper/Windows/img0.jpg");

     

                    BinaryFormatter bi = new BinaryFormatter();

                    bi.Serialize(ms, img);

                    //写字符

                    string sstr=Convert.ToBase64String(ms.ToArray(),Base64FormattingOptions.InsertLineBreaks);

     

                    //写文件

                    //File.WriteAllBytes(@"c:/aa.txt", ms.ToArray());

                                 

                    ms.Flush();

                    ms.Close();

     

                    #endregion

     

                    #region "反序列化"

                    //读文件

                   //byte[] arrbyte = File.ReadAllBytes(@"c:/aa.txt");

                    //读字符

                    char[] arrchar=sstr.ToCharArray();

                    byte[] arrbyte = Convert.FromBase64CharArray (sstr.ToCharArray(),0,arrchar.Length );

                    BinaryFormatter bi2 = new BinaryFormatter();

                    MemoryStream ms2 = new MemoryStream(arrbyte);

                    Image img2 = (Image)bi2.Deserialize(ms2);

                    this.BackgroundImage = img2;

     

                    ms2.Flush();

                    ms2.Close();

                    #endregion

                }

                catch (Exception ex)

                {

                    MessageBox.Show(ex.Message);

                }


    最新回复(0)