○クラス入りのArrayListをバイナリ形式で保存・読み出し
using System;
[Serializable]
class data
{
private String str;//privateな変数も保存される
public data(String strPos)
{
str=strPos;
}
public void show()
{
Console.WriteLine(str);
}
}
class Class1
{
static void Main(string[] args)
{
Class1 obj=new Class1();
}
public Class1()
{
{//ファイルへ保存
System.Collections.ArrayList ar = new System.Collections.ArrayList();
ar.Add(new data("test1"));
ar.Add(new data("test2"));
ar.Add(new data("test3"));
ar.Add(new data("test4"));
SaveFile(ar,"test.dat");
}
{//ファイルから読み出し
System.Collections.ArrayList ar=LoadFile("test.dat");
for(int i=0;i<ar.Count;i++) ((data)ar[i]).show();
}
Console.Read();
}
private void SaveFile(System.Collections.ArrayList ar,System.String filename)
{
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
System.IO.FileStream fs = new System.IO.FileStream(filename,System.IO.FileMode.Create);
bf.Serialize(fs, ar);
fs.Close();
}
private System.Collections.ArrayList LoadFile(System.String filename)
{
System.Collections.ArrayList ar;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
System.IO.FileStream fs = new System.IO.FileStream(filename,System.IO.FileMode.Open);
ar=(System.Collections.ArrayList)bf.Deserialize(fs);
fs.Close();
return ar;
}
}
処理結果
test1
test2
test3
test4
▲トップページ
>
Visual BASIC と C#