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

 更新时间:2015年06月17日 11:26:23   投稿:hebedich  
本文给大家汇总介绍了C#实现文本文件读写的方法,十分的简单实用,有需要的小伙伴可以参考下。

方法一:

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();
    }
  }

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

相关文章

  • unity实现简单贪吃蛇游戏

    unity实现简单贪吃蛇游戏

    这篇文章主要为大家详细介绍了unity实现简单贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • Unity后处理效果之边角压暗

    Unity后处理效果之边角压暗

    这篇文章主要为大家详细介绍了Unity后处理效果之边角压暗,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • .net 通过 WebAPI 调用nsfwjs 进行视频鉴别功能

    .net 通过 WebAPI 调用nsfwjs 进行视频鉴别功能

    这篇文章主要介绍了.net 通过 WebAPI 调用 nsfwjs 进行视频鉴别,文末给大家提到了FFMPEG获取视频关键帧并保存成jpg图像的相关知识,需要的朋友可以参考下
    2021-09-09
  • C#实现的UDP收发请求工具类实例

    C#实现的UDP收发请求工具类实例

    这篇文章主要介绍了C#实现的UDP收发请求工具类,结合具体实例形式分析了C#针对UDP请求的监听、接收、发送等相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • Unity使用LineRender实现绘画功能

    Unity使用LineRender实现绘画功能

    这篇文章主要为大家详细介绍了Unity使用LineRender实现绘画功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 基于WPF实现IP输入控件

    基于WPF实现IP输入控件

    这篇文章主要介绍了如何基于WPF实现简单的IP输入控件,文中的示例代码讲解详细,对我们学习或工作有一定帮助,需要的小伙伴可以参考一下
    2023-08-08
  • 浅谈C#中Action和Func回调的常用方式

    浅谈C#中Action和Func回调的常用方式

    Action和Func泛型委托实际上就是一个.NET Framework预定义的委托,本文主要介绍了C#中Action和Func回调的常用方式,具有一定的参加价值,感兴趣的可以了解一下
    2022-03-03
  • C#获取数组中最大最小值的方法

    C#获取数组中最大最小值的方法

    这篇文章主要介绍了C#获取数组中最大最小值的方法,本文直接给出实例代码,需要的朋友可以参考下
    2015-06-06
  • 利用C#编写扫雷游戏(附源码)

    利用C#编写扫雷游戏(附源码)

    扫雷游戏相信不用给大家过多介绍,大家基本都玩过,下面这篇文章主要给大家介绍了关于如何利用C#编写扫雷游戏的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2019-01-01
  • C#在MySQL大量数据下的高效读取、写入详解

    C#在MySQL大量数据下的高效读取、写入详解

    最近由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G 都是都是家常便饭。 那么主要的开发语言是C#,数据库使用的是MySQL。下面通过这篇文章我们来一起学习学习吧。
    2016-11-11

最新评论