1. BinaryReader和BinaryWriter:
这两个类主要用于向流中读取和写入各种基本数据类型的数据。
以下代码创建文件并写入一些数据:
private void BinaryWriteToFile()
{
//创建一个文件流对象
FileStream fs = new FileStream("test2.data",FileMode.Create);
//将文件流对象作为参数构造一个BinaryWriter对象
BinaryWriter bw = new BinaryWriter(fs);
//写入int
bw.Write(100);
//写入字符"A"
bw.Write("A");
//写入double
double d = 200.99;
bw.Write(d);
//写入bool
bw.Write(true);
//关闭自身(隐含关闭它关联的FileStream)
bw.Close();
}以下代码按原先写入的顺序读取数据:
private void BinaryReadFormFile()
{
//创建一个文件流对象
FileStream fs = new FileStream("test2.data",FileMode.Open);
//将文件流对象作为参数构造一个BinaryReader对象
BinaryReader br = new BinaryReader(fs);
//读入int
MessageBox.Show(br.ReadInt32().ToString());
//读入字符
MessageBox.Show(br.ReadChar().ToString());
//读入double
MessageBox.Show(br.ReadDouble().ToString());
//读入bool
MessageBox.Show(br.ReadBoolean().ToString());
//关闭自身(隐含关闭它关联的FileStream)
br.Close();
}BinaryWriter只能把字符和字符数组写入流中,却没有提供写入字符串的方法,这个功能由StreamWriter类实现。
以下代码创建一个StringData.txt,并向其中写入两个字符串:
private void WriteStringToFile()
{
FileStream fs = new FileStream("StringData.txt",FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
sw.WriteLine("合肥工业大学");
sw.WriteLine("电子商务研究所");
sw.Close();
}以下代码是从文件中分两次读取数据:
private void ReadStringFromFile()
{
FileStream fs = new FileStream("StringData.txt",FileMode.Open);
StreamReader sr = new StreamReader(fs);
MessageBox.Show(sr.ReadLine());
MessageBox.Show(sr.ReadLine());
sr.Close();
}
private void ReadAllStringFromFile()
{
FileStream fs = new FileStream("StringData.txt",FileMode.Open);
StreamReader sr = new StreamReader(fs);
MessageBox.Show(sr.ReadToEnd());
sr.Close();
}
