• C#读取文本文件


    System.IO命名空间中的类为托管应用程序提供文件以及其他形式的输入输出。托管i/o的基本构件是流,而流是字节导向的数据的抽象表示。流通过System.IO.Stream类表示.

    System.IO.FileStream允许将文件作为流访问;

    System.IO.MemoryStream允许将内存块作为流进行访问

    以下为读写文件的示例

    先引用命名空间

    using System.IO;

    以下是源代码

    namespace 文本文件打开测试
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            private void btn_Read_Click(object sender, EventArgs e)
            {
                //异常检测开始
                try
                {
                    FileStream fs = new FileStream(@tB_PachFileName.Text , FileMode.Open, FileAccess.Read);//读取文件设定
                    StreamReader m_streamReader = new StreamReader(fs, System.Text.Encoding.GetEncoding("GB2312"));//设定读写的编码
                    //使用StreamReader类来读取文件
                    m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
                    //  从数据流中读取每一行,直到文件的最后一行,并在rTB_Display.Text中显示出内容
                    this.rTB_Display.Text = "";
                    string strLine = m_streamReader.ReadLine();
                    while (strLine != null)
                    {
                        this.rTB_Display.Text += strLine + "\n";
                        strLine = m_streamReader.ReadLine();
                    }
                    //关闭此StreamReader对象
                    m_streamReader.Close();
                }
                catch
                {
                    //抛出异常
                    MessageBox.Show("指定文件不存在");
                    return;
                }
                //异常检测结束
           
            }

            private void btn_Replace_Click(object sender, EventArgs e)
            {
                //判断替换开始
                if (tB_Replace.Text == ""&&tB_Replace_2.Text=="")
                {
                    MessageBox.Show("想替换的字符都没有就换啊,你太有才了");
                }
                else
                {
                    if (rTB_Display.Text == "")
                    {
                        MessageBox.Show("文件内容为空无法进行替换,请检查文件");
                    }
                    else
                    {
                        string str = rTB_Display.Text.ToString();
                        rTB_Display.Text = str.Replace(@tB_Replace.Text ,@tB_Replace_2.Text);//替换
                    }
                }
                //结束

               
            }

            private void btn_Save_Click(object sender, EventArgs e)
            {
                //异常检测开始
                try
                {
                    //创建一个文件流,用以写入或者创建一个StreamWriter
                    FileStream fs = new FileStream(@tB_Save.Text, FileMode.OpenOrCreate, FileAccess.Write);
                    StreamWriter m_streamWriter = new StreamWriter(fs);
                    m_streamWriter.Flush();
                    //  使用StreamWriter来往文件中写入内容
                    m_streamWriter.BaseStream.Seek(0, SeekOrigin.Begin);
                    //  把richTextBox1中的内容写入文件
                    m_streamWriter.Write(rTB_Display.Text);
                    //关闭此文件
                    m_streamWriter.Flush();
                    m_streamWriter.Close();
                }
                catch
                {
                    //抛出异常
                    MessageBox.Show("写入文件失败,请检查路径 文件名与权限是否符合");
                }
                //异常检测结束
            }
        }
    }

  • 相关阅读:
    spring日记(三)
    spring日记(二)
    spring框架日记(一)
    springMVC日记(四)
    springMVC日记(三),文件上传,拦截器,数据校验
    springMVC日记(二)
    springMVC日记(一)
    Mybatis总结
    优化Dalvik虚拟机的内存分配
    简单对App进行单元测试
  • 原文地址:https://www.cnblogs.com/zcy_soft/p/1833782.html
Copyright © 2020-2023  润新知