首页 > 编程 > C# > 正文

C#实现文本文件读写方法汇总

2020-01-24 01:42:05
字体:
来源:转载
供稿:网友

方法一:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.IO; namespace txt{  public partial class Form1 : Form  {    // string path;    public Form1()    {      InitializeComponent();      button3.Click+=button3_Click;    }     private void textBox2_TextChanged(object sender, EventArgs e)    {      string path1 = textBox2.Text;      if(!File.Exists(path1))      {        MessageBox.Show("文件不存在");      }    }    //浏览按钮    private void button3_Click(object sender, EventArgs e)    {      /*if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)      {         string selUrl = folderBrowserDialog1.SelectedPath;      }*/          OpenFileDialog ofd = new OpenFileDialog();       if (ofd.ShowDialog() == DialogResult.OK)      {        textBox2.Text = ofd.FileName;      }       //选择文件夹      /* FolderBrowserDialog fbd = new FolderBrowserDialog();      fbd.ShowDialog();      MessageBox.Show(fbd.SelectedPath);       */    }    //读取文件    private void button1_Click(object sender, EventArgs e)    {      if(textBox2.Text!=null)        //读取文件内容并显示在textbox1中让用户修改       {        string path=textBox2.Text;        if (File.Exists(path))       //  {        //   File.Delete(path);        // }        textBox1.Text = File.ReadAllText(path, Encoding.Default);      }    }     private void button2_Click(object sender, EventArgs e)    {      // string[] appendText=textBox1.Text;             File.WriteAllText(textBox2.Text, textBox1.Text, Encoding.Default);      MessageBox.Show("保存成功");    }  }}

方法二:

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("写入文件失败,请检查路径 文件名与权限是否符合");    }    //异常检测结束   }  } }

方法三:

//写入文本文件  class WriteTextFile  {    static void Main()    {      //如果文件不存在,则创建;存在则覆盖      //该方法写入字符数组换行显示      string[] lines = { "first line", "second line", "third line","第四行" };      System.IO.File.WriteAllLines(@"C:/testDir/test.txt", lines, Encoding.UTF8);      //如果文件不存在,则创建;存在则覆盖      string strTest = "该例子测试一个字符串写入文本文件。";      System.IO.File.WriteAllText(@"C:/testDir/test1.txt", strTest, Encoding.UTF8);      //在将文本写入文件前,处理文本行      //StreamWriter一个参数默认覆盖      //StreamWriter第二个参数为false覆盖现有文件,为true则把文本追加到文件末尾      using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:/testDir/test2.txt",true))      {        foreach (string line in lines)        {          if (!line.Contains("second"))          {            file.Write(line);//直接追加文件末尾,不换行            file.WriteLine(line);// 直接追加文件末尾,换行            }        }      }    }  }//读取文本文件  class ReadTextFile  {    static void Main()    {      //直接读取出字符串      string text = System.IO.File.ReadAllText(@"C:/testDir/test1.txt");      Console.WriteLine(text);      //按行读取为字符串数组      string[] lines = System.IO.File.ReadAllLines(@"C:/testDir/test.txt");      foreach (string line in lines)      {        Console.WriteLine(line);      }      //从头到尾以流的方式读出文本文件      //该方法会一行一行读出文本      using (System.IO.StreamReader sr = new System.IO.StreamReader(@"C:/testDir/test.txt"))      {        string str;        while ((str = sr.ReadLine()) != null)        {          Console.WriteLine(str);        }      }      Console.Read();    }  }

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表