日期:2014-05-17  浏览次数:21080 次

读取二进制文件,转换成string类型,再存入数据库
两个功能: 1、下载,把五个数据变成一行数据已二进制形式写入到文件中。保存到本地
2、上传,把刚下载的文件。里面是二进制的数据。要把他们读出来。并且还原成5个数据。在转成
string类型。
下载的代码如下

sfd.Title = "保存";
                    sfd.Filter = "配置文件(*.config)|*.config";
                    sfd.RestoreDirectory = true;
                    if (sfd.ShowDialog() == DialogResult.OK)
                    {
                        System.IO.FileStream fs = (System.IO.FileStream)sfd.OpenFile();

                        List<string> list = OnlyConfig(OnfocusConfigUser, Table);
                        BinaryWriter bw = new BinaryWriter(fs);
                        for (int i = 0; i < list.Count; i++)
                        {

                            bw.Write(System.Text.Encoding.Unicode.GetBytes(list[i]));
                        }
                        bw.Close();
                    }


怎么一行二进制数据。还原成5条数据啊。求大神。把所有分都上了
二进制 C#

------解决方案--------------------
用序列化呗                             .
------解决方案--------------------
保存
List<string> list = OnlyConfig(OnfocusConfigUser, Table);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs,list);

读取
BinaryFormatter formatter = new BinaryFormatter();
list = formatter.Deserialize(fs) as List<String>;
------解决方案--------------------
BinaryFormatter序列化

序列化简单点来理解就是把内存的东西写到硬盘中,当然也可以写到内存中(这个内容我会在后面写一个例子).而反序列化就是从硬盘中把信息读到内存中.就这么简单,呵呵,现在来看下面的例子吧!

在这篇文章中我将使用BinaryFormatter序列化类Book作为例子,希望大家能从例子中深刻体会什么是序列化.

定义类Book:

 [Serializable]
 public class Book
 {
  string name;
  float    price;
  string author;