先添加命名空间 序列化保存 MaterialGroup obj = new MaterialGroup(); obj.CenterCD="32"; obj.LineCD="24"; obj.MaterialGroupCD="2824510000092"; obj.MaterialGroupName="序列化"; IFormatter formatter = new BinaryFormatter(); // SoapFormatter formatter = new SoapFormatter(); Stream stream = new FileStream("MaterialGroup.xml", FileMode.Create, FileAccess.Write, FileShare.ReadWrite); formatter.Serialize(stream, obj); stream.Close();再反序列化拿出来 IFormatter formatter = new BinaryFormatter(); // SoapFormatter formatter = new SoapFormatter(); Stream stream = new FileStream("MaterialGroup.xml", FileMode.Open, FileAccess.Read, FileShare.Read); MaterialGroup obj = (MaterialGroup) formatter.Deserialize(stream); stream.Close(); this.textBox4.Text+="反序列化"+obj[0]+obj[1]+obj[2]+obj[3];
using System;namespace ClassStudy { /// <summary> /// MaterialGroup の概要の説明です。 /// </summary> [Serializable] public class MaterialGroup { public MaterialGroup() { // // TODO: コンストラクタ ロジックをここに追加してください。 // } private string _CenterCD; private string _LineCD; private string _MaterialGroupCD; private string _MaterialGroupName; public static string Money=string.Empty; private static string _Money1=string.Empty; public static string Money1 { get { return this._Money1; } set { this._Money1=value; } } public string Money2=string.Empty; private string _Money3=string.Empty; public string Money3 { get { return this._Money3; } set { this._Money3=value; } } public struct MyMaterialGroup { public string strCenterCD; public string strLineCD; public string strMaterialGroupCD; public string strMaterialGroupName; } public string CenterCD { get { return this._CenterCD; } set { this._CenterCD=value; } } public string LineCD { get { return this._LineCD; } set { this._LineCD=value; } } public string MaterialGroupCD { get { return this._MaterialGroupCD; } set { this._MaterialGroupCD=value; } } public string MaterialGroupName { get { return this._MaterialGroupName; } set { this._MaterialGroupName=value; } } public string this[int i] { get { switch(i) { case 0: return this._CenterCD; case 1: return this._LineCD; case 2: return this._MaterialGroupCD; case 3: return this._MaterialGroupName; default: throw new IndexOutOfRangeException("範囲"); } } set { switch(i) { case 0: this._CenterCD=value;break; case 1: this._LineCD=value;break; case 2: this._MaterialGroupCD=value;break; case 3: this._MaterialGroupName=value;break; default: throw new IndexOutOfRangeException("範囲"); } } } } }
string fileName=@"D:\1.txt";//完整路径名
FileStream fs = new FileStream(fileName, FileMode.Create);
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
sw.WriteLine(textBox1.Text);
sw.Flush();
sw.Close();
简单来说就是这样写 一个创建文件 一个写入流
{
string fileName=@"D:\1.txt";//完整路径名
FileStream fs = new FileStream(fileName, FileMode.Create);
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
sw.WriteLine(textBox1.Text);
sw.Flush();
sw.Close();
} private void button2_Click(object sender, EventArgs e)//读
{
textBox1.Text = "";
string fileName = @"D:\1.txt";//完整路径名
FileStream fs = new FileStream(fileName, FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.UTF8);
textBox1.Text = sr.ReadToEnd(); /*直接全部读出来
也可以选择用ReadLine 一行一行 看操作 这是教简单的读写深入可以查阅文件IO*/
sr.Close();
}
❀
或者写入到xml文件中
序列化保存
MaterialGroup obj = new MaterialGroup();
obj.CenterCD="32";
obj.LineCD="24";
obj.MaterialGroupCD="2824510000092";
obj.MaterialGroupName="序列化";
IFormatter formatter = new BinaryFormatter();
// SoapFormatter formatter = new SoapFormatter();
Stream stream = new FileStream("MaterialGroup.xml", FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
formatter.Serialize(stream, obj);
stream.Close();再反序列化拿出来
IFormatter formatter = new BinaryFormatter();
// SoapFormatter formatter = new SoapFormatter(); Stream stream = new FileStream("MaterialGroup.xml", FileMode.Open, FileAccess.Read, FileShare.Read);
MaterialGroup obj = (MaterialGroup) formatter.Deserialize(stream);
stream.Close();
this.textBox4.Text+="反序列化"+obj[0]+obj[1]+obj[2]+obj[3];
using System;namespace ClassStudy
{
/// <summary>
/// MaterialGroup の概要の説明です。
/// </summary>
[Serializable]
public class MaterialGroup
{
public MaterialGroup()
{
//
// TODO: コンストラクタ ロジックをここに追加してください。
//
}
private string _CenterCD;
private string _LineCD;
private string _MaterialGroupCD;
private string _MaterialGroupName;
public static string Money=string.Empty; private static string _Money1=string.Empty;
public static string Money1
{
get
{
return this._Money1;
}
set
{
this._Money1=value;
} }
public string Money2=string.Empty; private string _Money3=string.Empty;
public string Money3
{
get
{
return this._Money3;
}
set
{
this._Money3=value;
} }
public struct MyMaterialGroup
{
public string strCenterCD;
public string strLineCD;
public string strMaterialGroupCD;
public string strMaterialGroupName;
}
public string CenterCD
{
get
{
return this._CenterCD;
}
set
{
this._CenterCD=value;
}
}
public string LineCD
{
get
{
return this._LineCD;
}
set
{
this._LineCD=value;
}
}
public string MaterialGroupCD
{
get
{
return this._MaterialGroupCD; }
set
{
this._MaterialGroupCD=value; }
}
public string MaterialGroupName
{
get
{
return this._MaterialGroupName; }
set
{
this._MaterialGroupName=value;
}
}
public string this[int i]
{
get
{
switch(i)
{
case 0:
return this._CenterCD;
case 1:
return this._LineCD;
case 2:
return this._MaterialGroupCD;
case 3:
return this._MaterialGroupName;
default:
throw new IndexOutOfRangeException("範囲");
} }
set
{
switch(i)
{
case 0:
this._CenterCD=value;break;
case 1:
this._LineCD=value;break;
case 2:
this._MaterialGroupCD=value;break;
case 3:
this._MaterialGroupName=value;break;
default:
throw new IndexOutOfRangeException("範囲");
}
}
}
}
}