使用I/O流操作文本文件时主要用到StreamWrite类和StreamRead类。

1.StreamWrite类

(1)StreamWrite类专门用来处理文本文件的类。能够方便地想文本文件里写入字符串,同一时候负责重要的转换和处理向FileStream对象写入工作。

(2)经常使用的属性

Encoding               获取将输出写入到当中的Encoding

Formatprovider         获取控制格式设置的对象

NewLine                获取或设置由当前TextWriter使用的行结束符字符串

(3)经常使用的方法

Close                  关闭当前的StringWriter和基础流

Write                  写入到StringWriter的此实例中

WriteLine              写入重载參数指定的某些数据,后跟行结束符

2.StreamReader类

(1)专门用来读取文本文件的类。

(2)经常使用的方法

Close                  关闭StringReader

Read                   读取输入字符串中的下一个字符或下一组字符

ReadLine               从基础字符串中读取一行

ReadToEnd              将整个流或从流的当前位置到流的结尾作为字符串读取

3.实例代码--怎样对文本文件进行写入和读取

(1)控件解释

SaveFileDialog控件(一个)--显示“另存为”对话框

OpenFileDialog控件(一个)--显示“打开”对话框

TextBox控件(一个)--输入要写入文本文件的内容和显示选中文本文件的内容

Button控件(两个)--分别用来打开"另存为"和"打开"对话框

(2)重要代码

        private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
MessageBox.Show("要写入的文件内容不能为空");
}
else
{
//设置保存文件的格式
saveFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
//使用“另存为”对话框中输入的文件名称实例化StreamWriter对象
StreamWriter sw = new StreamWriter(saveFileDialog1.FileName, true);
//向创建的文件里写入内容
sw.WriteLine(textBox1.Text);
//关闭当前文件写入流
sw.Close();
textBox1.Text = string.Empty;
}
}
}
private void button2_Click(object sender, EventArgs e)
{
//设置打开文件的格式
openFileDialog1.Filter = "文本文件(*.txt)|*.txt";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
textBox1.Text = string.Empty;
//使用“打开”对话框中选择的文件实例化StreamReader对象
StreamReader sr = new StreamReader(openFileDialog1.FileName);
//调用ReadToEnd方法读取选中文件的所有内容
textBox1.Text = sr.ReadToEnd();
//关闭当前文件读取流
sr.Close();
}
}

(3)执行截图:

C#--I/O流操作文本文件之StreamWrite类和StreamReader类-LMLPHP

点击读取出来打开框,即前面所说的SaveFileDialog控件的显示

C#--I/O流操作文本文件之StreamWrite类和StreamReader类-LMLPHP

点击写入button,出来另存为框,即前面所说的OpenFileDialog控件的显示

C#--I/O流操作文本文件之StreamWrite类和StreamReader类-LMLPHP

05-11 09:21