这篇是针对上一篇讲序列化的文章的一个实际案例,WinForm程序的主界面如下:

aaarticlea/png;base64,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" alt="" />

思路:在点击保存按钮时,将标题和内容保存到集合中,自然想到应该是Dictionary<K,V>,而且用这个集合可以避免产生2个相同标题的日记。对添加到集合中的数据,采用二进制序列化到文件中,在程序执行目录中专门建一个“Notes”的文件夹存放日记文件,日记文件的文件名以标题命名。程序加载的时候,如果“Notes”文件夹下有文件,就在右侧列表中加载文件,点击时反序列化后显示在左侧。下面是具体代码:

在Form1类下定义一个集合:

 Dictionary<string, string> dic = new Dictionary<string, string>();

“保存”按钮的点击操作代码如下:

             var sTitle = txtTitle.Text.Trim();
var sContent = txtContent.Text.Trim(); dic.Add(sTitle, sContent); string fullPath = Path.Combine("Notes", sTitle + ".txt");
using (FileStream fsWrite=new FileStream(fullPath,FileMode.Create,FileAccess.Write))
{
//进行二进制序列化
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fsWrite, dic);
MessageBox.Show("添加日记成功");
}

在Form1_Load中的事件处理代码如下:

             string sPath1 = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string sPath2 = "Notes";
string fullPath1 = Path.Combine(sPath1, sPath2);
string[] strFiles = Directory.GetFiles(fullPath1, "*.txt"); if (strFiles.Length>)
{
foreach (string item in strFiles)
{
var s = Path.GetFileName(item);
listBox1.Items.Add(s);
}
}

在listBox1_SelectedValueChanged中的事件处理代码如下:

           if (listBox1.SelectedItem!=null)
{
var FileName = listBox1.SelectedItem.ToString();
var fullPath2 = Path.Combine("Notes", FileName);
using (FileStream fsRead=new FileStream(fullPath2,FileMode.Open,FileAccess.Read))
{
BinaryFormatter bf1 = new BinaryFormatter();
//进行二进制反序列化
Dictionary<string, string> dic2 = bf1.Deserialize(fsRead) as Dictionary<string, string>;
foreach (KeyValuePair<string,string> item in dic2)
{
txtTitle.Text = item.Key;
txtContent.Text = item.Value;
}
}
}
else
{
MessageBox.Show("请选择要查看的文件");
}

总结:

程序还有些Bug,因为主要的重点是放在序列化的使用上,日后如果有时间再完善功能吧。

1.对于新添加的日记,需要在下一次程序启动中才会加载到右侧listBox中(想法是做到保存后就加载到listBox);

2.对于日记的修改,修改内容后,点击保存,可适时看到修改的变化;而如果把标题和内容都修改了,程序则认为是一个全新的日记(Dictionary集合会因为key的不同,而重新添加)。

C# 序列化(二)二进制序列化的案例的更多相关文章

  1. java编解码技术,json序列化与二进制序列化

    1.何为json序列化与二进制序列化 通常我们在程序中采用的以json为传输,将json转为对象的就是json序列化了.而二进制序列化通常是我们将数据转换为二进制进行传输,然后在进行各类转换操作 2. ...

  2. IOSerialize,xml和json,soap序列化器,二进制序列化器,XML序列化器,文件 检查、新增、复制、移动、删除

    1 文件夹/文件 检查.新增.复制.移动.删除,2 文件读写,记录文本日志/读取配置文件3 三种序列化器4 xml和json1.文件夹/文件 检查.新增.复制.移动.删除,2 文件读写,记录文本日志/ ...

  3. 【C#加深理解系列】(二)序列化

    什么是序列化 序列化,它又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制.序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用. ...

  4. JAVA RPC(二)序列化协议杂谈

    序列化和反序列化作为Java里一个较为基础的知识点,大家心里也有那么几句要说的,但我相信很多小伙伴掌握的也就是那么几句而已,如果再深究问一下Java如何实现序列化和反序列化的,就可能不知所措了!遥记当 ...

  5. 线程安全使用(四) [.NET] 简单接入微信公众号开发:实现自动回复 [C#]C#中字符串的操作 自行实现比dotcore/dotnet更方便更高性能的对象二进制序列化 自已动手做高性能消息队列 自行实现高性能MVC WebAPI 面试题随笔 字符串反转

    线程安全使用(四)   这是时隔多年第四篇,主要是因为身在东软受内网限制,好多文章就只好发到东软内部网站,懒的发到外面,现在一点点把在东软写的文章给转移出来. 这里主要讲解下CancellationT ...

  6. 性能超四倍的高性能.NET二进制序列化库

    二进制序列化在.NET中有很多使用场景,如我们使用分布式缓存时,通常将缓存对象序列化为二进制数据进行缓存,在ASP.NET中,很多中间件(如认证等)也都是用了二进制序列化. 在.NET中我们通常使用S ...

  7. [LeetCode] Serialize and Deserialize BST 二叉搜索树的序列化和去序列化

    Serialization is the process of converting a data structure or object into a sequence of bits so tha ...

  8. 二进制序列化框架easypack发布啦!

    简介 easypack是基于boost.serialization的二进制序列化框架,使用极其方便. Examples 基本类型 int age = 20; std::string name = &q ...

  9. C#中的二进制序列化和Json序列化

    序列化就是把一个对象变成流的形式,方便传输和还原.小弟不才,总结下对二进制序列化和Json序列化的使用: 1.首先,二进制序列化(BinaryFormatter)要求要序列化的类必须是可序列化的(即在 ...

随机推荐

  1. Flex文件读取报错

    Flex文件读取 1.s:WindowedApplication <?xml version="1.0" encoding="utf-8"?> &l ...

  2. NAT后面的FTP SERVER终极篇

    原文引用:http://blog.chinaunix.net/uid-20592805-id-1918661.html   如果对于被动模式还有不同的意见,我们可以再看下这篇文章: http://ww ...

  3. cdoj 48 Cake 水题

    Cake Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/48 Descrip ...

  4. 云服务器 ECS Linux IO 占用高问题排查方法

    https://help.aliyun.com/knowledge_detail/41224.html?spm=5176.7841174.2.19.uqC1as#使用 iostat 从系统纬度查看磁盘 ...

  5. xy

    用C#實現Blob數據類型 PowerBuilder提供了Blob數據類型, 用來處理二進制數據(如:圖像,文件,二進制流,文本等等). 本質上, Blob是可變長的字節數組, 它提供了一系列全局函數 ...

  6. Ubuntu下VSFTPD(四)(vsftpd其它主要设置)

    vsftpd 服务器的其它主要设置 : 1 .最大传输速率设置: 设置匿名用户的最大传输率为20Kbps,修改/etc/vsftpd/vsftpd.conf 添加语句:anon_max_rate=20 ...

  7. 基于Bootstrap的jQuery开关按钮组合

    Bootstrap是一款由Twitter推出的开源前端开发包,功能非常强大.今天我们要分享的这款jQuery开关按钮组合就是基于Bootstrap框架的,看了按钮的主题样式,也都是Bootstrap的 ...

  8. paip.android 手机输入法制造大法

    paip.android 手机输入法制造大法 作者Attilax ,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/at ...

  9. 关于解决[INSTALL_FAILED_UPDATE_INCOMPATIBLE]

    通过adb install安装apk,报错Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]. 说明没有正常卸载原apk,基本都是直接通过rm XXX.apk所造 ...

  10. C#面向对象(三)接口实现多态

    一.如何用接口实现多态? 1.定义一个接口. using System; using System.Collections.Generic; using System.Linq; using Syst ...