C# 读写txt文件方法

时间:2021-04-09 17:20:49

添加引用:

using System.IO;

1.File类写入文本文件:

private void btnTextWrite_Click(object sender, EventArgs e)
        {
            //文件路径
            string filePath = @"E:\123\456.txt";

            //检测文件夹是否存在,不存在则创建
            NiceFileProduce.CheckAndCreatPath(NiceFileProduce.DecomposePathAndName(filePath, NiceFileProduce.DecomposePathEnum.PathOnly));

            //定义编码方式,text1.Text为文本框控件中的内容
            byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
            string mystr1 = Encoding.UTF8.GetString(mybyte);

            //写入文件
            //File.WriteAllBytes(filePath,mybyte);//写入新文件
            //File.WriteAllText(filePath, mystr1);//写入新文件
            File.AppendAllText(filePath, mystr1);//添加至文件

        }

2.File类读取文本文件:

private void btnTexRead_Click(object sender, EventArgs e)
        {
            //文件路径
            string filePath = @"E:\123\456.txt";
            try
            {
                if (File.Exists(filePath))
                {
                    text1.Text = File.ReadAllText(filePath);
                    byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
                    text1.Text = Encoding.UTF8.GetString(mybyte);
                }
                else
                {
                    MessageBox.Show("文件不存在");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

3.StreamWrite类写入文本文件:

private void btnTextWrite_Click(object sender, EventArgs e)
        {
            //文件路径
            string filePath = @"E:\123\456.txt";

            try
            {
                //检测文件夹是否存在,不存在则创建
                string mystr1 = NiceFileProduce.CheckAndCreatPath(NiceFileProduce.DecomposePathAndName(filePath, NiceFileProduce.DecomposePathEnum.PathOnly));

                using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.UTF8))
                {
                    byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
                    text1.Text = Encoding.UTF8.GetString(mybyte);
                    sw.Write(text1.Text);
                }

            }
            catch
            {

            }
        }

4.StreamReader类读取文本文档:

private void btnTexRead_Click(object sender, EventArgs e)
        {
            //文件路径
            string filePath = @"E:\123\456.txt";
            try
            {
                if (File.Exists(filePath))
                {
                    using (StreamReader sr = new StreamReader(filePath, Encoding.UTF8))
                    {
                        text1.Text = sr.ReadToEnd();
                        byte[] mybyte = Encoding.UTF8.GetBytes(text1.Text);
                        text1.Text = Encoding.UTF8.GetString(mybyte);
                    }
                }
                else
                {
                    MessageBox.Show("文件不存在");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

----------------------------------------------------------------------------------------------

遇到的常见错误:

1.ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”,这在给定的上下文中无效

解决方法:Controller.File方法和System.IO.File类名称冲突的问题,只要完整输入明确类名就可解决。

例如:File.ReadAllText();  改为  System.IO.File.ReadAllText();