日期:2014-05-18  浏览次数:20916 次

C#文本文件读取和写入

	导入命名空间:
	using System.IO;
        #region 读取
        FileStream fs; //声明文件流的对象
        StreamReader sr; //声明读取器的对象
        StreamWriter sw; //声明写入器的对象
        string str;
        private void btn读取_Click(object sender, EventArgs e)
        {
            openFD对话框.Multiselect = false; //不允许多选文件
            openFD对话框.Filter = "文本文件|*.txt"; //文件类型
            string path =null;
            if (openFD对话框.ShowDialog() == DialogResult.OK)
            {
                path = openFD对话框.FileName;
                if (path.Equals(null) || path.Equals(""))
                {
                    MessageBox.Show("请选择文件");
                    return;
                }
                txt文件位置.Text = path;
                try
                { 
                    //创建文件流
                    fs = new FileStream(path,  //文件路径
                                        FileMode.Open, //打开文件的方式
                                        FileAccess.ReadWrite, //控制对文件的读写
                                        FileShare.None);  //控制其它进程对此文件的访问
                    //创建读取器
                    sr = new StreamReader(fs,  //文件流对象
                                          Encoding.Default);  //字符编码
                    str = sr.ReadToEnd(); //读取文件所有内容
                    txt文本.Text = str;
                }
                catch (Exception ex)
                {
                    MessageBox.Show("文件操作异常:" + ex.Message);
                }
                finally
                {
                    if (fs != null)
                    {
                        sr.Close(); //关闭读取器
                        fs.Close(); //关闭文件流
                    }
                }
            }
        }
        #endregion


        #region 写入
        private void btn写入_Click(object sender, EventArgs e)
        {
            string path = txt文件位置.Text;
            string text = txt文本.Text;
            if (path.Equals(null) || path.Equals(""))
            {
                MessageBox.Show("文件路径不能为空");
                return;
            }
            try
            {
                fs = new FileStream(path, FileMode.Create,FileAccess.ReadWrite,FileShare.None);
                //创建写入器
                sw = new StreamWriter(fs); //参数为文件流对象
                sw.Write(text);
                MessageBox.Show("写入成功");
            }
            catch (Exception ex)
            {
                MessageBox.Show("文件操作异常:"+ex.Message);
            }
            finally
            {
                if (fs != null)
                {
                    sw.Close();
                    fs.Close();
                }
            }
        }
        #endregion