回 帖 发 新 帖 刷新版面

主题:如何用System.IO.StreamWriter的对象读取一个对象?

System.IO.StreamWriter对象可以写入object
但是System.IO.StreamReader却不能读出object
请问应该如何做呢?

回复列表 (共4个回复)

沙发

序列化后再读写就好了,如果不是想保存string的话

板凳

我用了序列化
Temp temp=new Temp();
temp.name="shen";
temp.age=10;
System.IO.Stream s=System.IO.File.Open("temp.temp",System.IO.FileMode.Open,System.IO.FileAccess.Write);
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter b=new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
b.Serialize(s,temp);
s.Close();

public class Temp
{
   public string name;
   public int age;
}
但是它报错
他说Temp类未标记为可序列化
这是什么意思呢???
该如何解决?

3 楼

[Serializable]
public class Temp
{
...
}

4 楼

若temp.temp文件里存放着2条同1个对象的信息
System.IO.Stream s=System.IO.File.Open("temp.temp",System.IO.FileMode.Open,System.IO.FileAccess.Write);
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter b=new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
b.Serialize(s,temp);
只能取出第1条信息
该如何取出?

我来回复

您尚未登录,请登录后再回复。点此登录或注册