1、FileStream 按字节读写文件
FileStream fs = new FileStream("D:\\data.txt", FileMode.Create);
byte[] data = new byte[10];
for (int i = 0; i < 10; i++)
{
data[i] = (byte)i;
}
fs.Write(data, 0, 10);
fs.Close();
fs = new FileStream("D:\\data.txt", FileMode.Open);
byte[] test = new byte[fs.Length];
long num = fs.Read(test, 0, (int)fs.Length);
foreach (byte b in test)
{
Console.WriteLine("{0}", b);
}
Console.Read();
2、BinaryWriter和BinaryReader按数据类型读写文件
=============【BinaryWriter、BinaryWriter】==============
FileStream fs = new FileStream("D:\\data.txt", FileMode.Open);
BinaryWriter bw = new BinaryWriter(fs);
for (int i = 0; i < 10; i++)
{
bw.Write(i);
}
bw.Close();
int[] data = new int[10];
fs = new FileStream("D:\\data.txt", FileMode.Open);
BinaryReader br = new BinaryReader(fs);
for (int i = 0; i < 10; i++)
{
data[i] = br.ReadInt32();
}
br.Close();
foreach (int i in data)
{
Console.WriteLine("{0}", i);
}
Console.Read();
3、StreamReader或StreamWriter按字符或字符串读写文件
==============【StreamReader 和StreamWriter】==============
写字符串类型的数据
StreamWriter sw = new StreamWriter("D:\\t.txt");
sw.WriteLine(100);
sw.WriteLine("aaaaaaaaa我是江芳fangfang~");
sw.WriteLine("hh加油啊宝贝");
sw.Close();
按行读取
string sLine = "";
List<string> myList = new List<string>();
StreamReader sr = new StreamReader("D:\\t.txt");
while ((sLine = sr.ReadLine()) != null)//读出的数据不为空
{
string[] ss = sLine.Split('\t');
foreach (string s in ss)
{
Console.WriteLine("{0}", s);
}
myList.Add(sLine);
}
Console.Read();
4、序列化和反序列化
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("1", "jf1");
d.Add("2", "倩倩");
d.Add("3", "王月");
FileStream fs = new FileStream("D:\\my.txt",FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, d);
fs.Close();
d.Clear();
fs = new FileStream("D:\\my.txt", FileMode.Open);
d = (Dictionary<string,string>)bf.Deserialize(fs);
foreach(KeyValuePair<string,string> s in d)
{
Console.WriteLine("{0}:{1};", s.Key, s.Value);
}
Console.Read();