StreamReader和StreamWriter这两个类操作的对象是字符 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; namespace StreamRW { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnOpen_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"; ofd.InitialDirectory = "C://"; if (ofd.ShowDialog() == DialogResult.OK) { FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs, Encoding.Default); StringBuilder fileContent = new StringBuilder(); string line; while ((line = sr.ReadLine()) != null) { fileContent.Append(line+"/r/n"); } sr.Close(); fs.Close(); txtInfo.Text = fileContent.ToString(); } } private void btnCreate_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Title = "创建新文件"; sfd.Filter = "文本文件(*.txt)|*.txt"; sfd.InitialDirectory = "C://"; string filename = ""; if (sfd.ShowDialog() == DialogResult.OK) { filename = sfd.FileName; } FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write); StreamWriter sw = new StreamWriter(fs, Encoding.Default); string fileContent = "当前时间是:" + DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒"); sw.WriteLine("写入到"+filename+"文件中的内容如下"); sw.WriteLine(fileContent); sw.Close(); fs.Close(); fs = new FileStream(filename, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs, Encoding.Default); StringBuilder fileContent1 = new StringBuilder(); string line; while ((line = sr.ReadLine()) != null) { fileContent1.Append(line + "/r/n"); } sr.Close(); fs.Close(); txtInfo.Text = fileContent1.ToString(); } } }