C#读写文件、遍历文件、打开保存文件using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespaceFileReadWriteDemo{public partial class Form1 : Form{public Form1(){InitializeComponent();}//遍历文件- 浏览按钮private void buttonBrowse_Click(object sender, EventArgs e){OpenFileDialogofd = new OpenFileDialog();ofd.Filter = "(*.*)|*.*"; //过滤文件类型ofd.RestoreDirectory = true; //记忆上次浏览路径if(ofd.ShowDialog() == DialogResult.OK){DirectoryInfodir = Directory.GetParent(ofd.FileName); //获取文件所在的父目录textBox1.Text = dir.ToString()+"\\";}}//遍历文件- 遍历按钮private void buttonTransform_Click(object sender, EventArgs e){listBox1.Items.Clear();TransformFiles(textBox1.Text.Trim());}public void TransformFiles(string path){try{DirectoryInfodir = new DirectoryInfo(path);DirectoryInfo[] dirs = dir.GetDirectories(); //获取子目录FileInfo[] files = dir.GetFiles("*.*"); //获取文件名foreach (DirectoryInfod indirs){TransformFiles(dir+d.ToString()+"\\"); //递归调用}foreach(FileInfo f in files){listBox1.Items.Add(dir+f.ToString());}}catch (Exception ex){MessageBox.Show(ex.Message.ToString());}}//打开保存- 打开按钮private void buttonOpen_Click(object sender, EventArgs e){textBox3.Text = "";OpenFileDialogofd = new OpenFileDialog();ofd.Filter = "(*.txt)|*.txt|(*.*)|*.*";ofd.RestoreDirectory = true;if(ofd.ShowDialog() == DialogResult.OK){textBox2.Text = ofd.FileName;FileStreamfs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);StreamReadersr = new StreamReader(fs);try{ofd.OpenFile(); //打开文件string line = sr.ReadLine(); //读取文本行while (line != null){textBox3.Text += line + "\n"; //换行后继续读取直至line==nullline = sr.ReadLine();}}catch (Exception ex){MessageBox.Show(ex.Message.ToString());}finally{sr.Close();fs.Close();}}}//打开保存- 保存按钮private void buttonSave_Click(object sender, EventArgs e){SaveFileDialogsfd = new SaveFileDialog();sfd.Filter = "(*.txt)|*.txt|(*.*)|*.*";sfd.AddExtension = true;sfd.RestoreDirectory = true;if(sfd.ShowDialog() == DialogResult.OK){textBox2.Text = sfd.FileName;FileStreamfs = new FileStream(sfd.FileName,FileMode.Create);StreamWritersw = new StreamWriter(fs);try{sw.Write(textBox3.Text);sw.Flush();}catch(Exception ex){MessageBox.Show(ex.Message.ToString());}finally{sw.Close();fs.Close();}}}//读写文本- 写入数据按钮private void buttonWrite_Click(object sender, EventArgs e) {if (!(Directory.Exists(@"D:\temp"))){Directory.CreateDirectory(@"D:\temp");}string filePath = @"D:\temp\qq.doc";if(File.Exists(filePath)){labelResult.ForeColor = Color.Red;labelResult.Text = "当前文件已经存在!";return;}FileStreamfs = new FileStream(filePath,FileMode.Create);StreamWritersw = new StreamWriter(fs);try{sw.Write(textBox4.Text);sw.Flush();labelResult.ForeColor = Color.Green;labelResult.Text = "写入数据完成!";}catch (Exception ex){MessageBox.Show(ex.Message.ToString());finally{sw.Close();fs.Close();}}//读写文本- 读取数据按钮private void buttonRead_Click(object sender, EventArgs e) {textBox5.Text = "";string filePath = @"D:\temp\qq.doc";if(!(File.Exists(filePath))){labelResult.ForeColor = Color.Red;labelResult.Text = filePath+"文件不存在!";return;}FileStreamfs = new FileStream(filePath,FileMode.Open,FileAccess.Read);StreamReadersr = new StreamReader(fs);try{string line = sr.ReadLine();while(line != null){textBox5.Text += line + "\n";line = sr.ReadLine();}labelResult.ForeColor = Color.Green;labelResult.Text = "读取数据成功!";}catch(Exception ex){MessageBox.Show(ex.Message.ToString());}finallysr.Close();fs.Close();}}//读写二进制文件- 写入数据按钮private void buttonWrite2_Click(object sender, EventArgs e) {string filePath = @"D:\temp\test.data";if (!(Directory.Exists(@"D:\temp"))){Directory.CreateDirectory(@"D:\temp");}if(File.Exists(filePath)){labelResult2.ForeColor = Color.Red;labelResult2.Text = "文件已经存在!";return;}FileStreamfs = new FileStream(filePath,FileMode.Create);BinaryWriterbw = new BinaryWriter(fs);for (inti = 0; i< 200; i++){bw.Write((int)i);}bw.Flush();labelResult2.ForeColor = Color.Green;labelResult2.Text = "写入数据成功!";bw.Close();fs.Close();}//读写二进制文件- 读取数据按钮private void buttonRead2_Click(object sender, EventArgs e) {textBox6.Text = "";string filePath = @"D:\temp\test.data";if(!(File.Exists(filePath)))labelResult2.ForeColor = Color.Red;labelResult2.Text = filePath+"文件不存在!";return;}FileStreamfs = newFileStream(filePath,FileMode.Open,FileAccess.Read);BinaryReaderbr = new BinaryReader(fs);for (inti = 0; i< 200; i++){Int32 intTmp = br.ReadInt32();textBox6.Text += "->" + intTmp.ToString();}labelResult2.ForeColor = Color.Green;labelResult2.Text = "读取数据成功!";br.Close();fs.Close();}}}。