.Net C# Txt文本文件操作

原创 2017年07月25日 14:29:25

写入

StreamWriter 类

StreamWriter 类 MSDN介绍

StreamWriter 构造函数 (String)

新实例初始化 StreamWriter 类为指定的文件使用默认的编码和缓冲区大小。

File类 MSDN介绍

File.AppendText 方法 (String)
创建一个 StreamWriter,它将 UTF-8 编码文本追加到现有文件或新文件(如果指定文件不存在)。

//AppendText 原型
public static StreamWriter AppendText(
    string path
)
using System;
using System.IO;
using System.Text;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string fileName = "test.txt";
            string textToAdd = "Example text in file";
            using (StreamWriter writer = new StreamWriter(fileName))
            {
                //1,写入文本
                writer.Write(textToAdd);
            }
            //2,追加文本
            StreamWriter sw = File.AppendText(fileName);
            sw.Write(textToAdd);//不换行
            sw.WriteLine(textToAdd);//自动换行
            sw.Close();
        }
    }
}

读取

static void Main(string[] args)
        {
            System.IO.StreamReader sr = System.IO.File.OpenText(@"E:/TIMEOUT.TXT");
            //string[] xx = sr.ReadToEnd().Split(new string[] { "\r\n" }, StringSplitOptions.None);//StringSplitOptions.None 分割后返回原值。sr.ReadToEnd()后再次sr.ReadToEnd()内容将为空。
            string[] yy = sr.ReadToEnd().Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).Where(t=>t.EndsWith("strat") == true).ToArray(); //StringSplitOptions.RemoveEmptyEntries 分割后内容为空则不返回。.EndsWith("strat")取以“strat”结尾的结果
            //将结果写入文本
            StreamWriter sw = File.AppendText(@"E:/timeoutE.TXT");
            sw.Write(string.Join("\r\n",yy));
            sw.Close();
        }

测试源文件

10/21/2017 11:27:53 AM :
10/21/2017 3:27:53 AMECN17-0000035182 CALL EFGP strat

10/21/2017 11:28:30 AM :
10/21/2017 3:28:30 AMPAP17-0000026659 CALL EFGP strat

10/21/2017 11:30:26 AM :
10/21/2017 3:30:26 AMMR17-0000001568 CALL EFGP strat

10/21/2017 11:32:11 AM :
10/21/2017 3:32:11 AMMR17-0000001568 CALL EFGP strat

10/21/2017 11:33:40 AM :
10/21/2017 3:33:40 AMMR17-0000001568 CALL EFGP strat

10/21/2017 11:36:00 AM :
10/21/2017 3:36:00 AMMR17-0000001568 CALL EFGP strat

10/21/2017 11:36:15 AM :
10/21/2017 3:36:15 AMPTA17-0000037906 CALL EFGP strat

10/21/2017 11:36:43 AM :
10/21/2017 3:36:43 AMMR17-0000001568 CALL EFGP strat

10/21/2017 11:38:02 AM :
10/21/2017 3:38:02 AMPTA17-0000037906 CALL EFGP strat

10/21/2017 11:38:54 AM :
10/21/2017 3:38:54 AMMR17-0000001569 CALL EFGP strat

10/21/2017 11:40:35 AM :
10/21/2017 3:40:35 AMPTA17-0000037910 CALL EFGP strat

10/21/2017 11:40:35 AM :
10/21/2017 3:40:35 AMPTA17-0000037909 CALL EFGP strat

10/21/2017 11:41:05 AM :
10/21/2017 3:41:05 AMPTA17-0000037904 CALL EFGP strat

10/21/2017 11:42:08 AM :
10/21/2017 3:42:08 AMMR17-0000001569 CALL EFGP strat

10/21/2017 11:42:44 AM :
10/21/2017 3:42:44 AMMR17-0000001568 CALL EFGP strat

10/21/2017 11:43:11 AM :
10/21/2017 3:43:11 AMMR17-0000001568 CALL EFGP strat

10/21/2017 11:43:12 AM :
10/21/2017 3:43:12 AMPTA17-0000037912 CALL EFGP strat

10/21/2017 11:43:23 AM :
10/21/2017 3:43:23 AMPTA17-0000037904 CALL EFGP strat

10/21/2017 11:43:51 AM :
10/21/2017 3:43:51 AMAPP17-0000017880 CALL EFGP strat

10/21/2017 11:46:03 AM :
10/21/2017 3:46:03 AMAPP17-0000017880 CALL EFGP strat

10/21/2017 11:46:25 AM :
10/21/2017 3:46:25 AMPTA17-0000037906 CALL EFGP strat

10/21/2017 11:46:38 AM :
10/21/2017 3:46:38 AMPTA17-0000037910 CALL EFGP strat

10/21/2017 11:46:44 AM :
10/21/2017 3:46:44 AMPTA17-0000037913 CALL EFGP strat

10/21/2017 11:47:06 AM :
10/21/2017 3:47:06 AMAPP17-0000017880 CALL EFGP strat

10/21/2017 11:47:07 AM :
10/21/2017 3:47:07 AMPTA17-0000037906 CALL EFGP strat

10/21/2017 11:48:25 AM :
10/21/2017 3:48:25 AMPTA17-0000037910 CALL EFGP strat

10/21/2017 11:48:26 AM :
10/21/2017 3:48:26 AMECN17-0000035187 CALL EFGP strat

10/21/2017 11:48:32 AM :
10/21/2017 3:48:32 AMPTA17-0000037913 CALL EFGP strat

10/21/2017 11:50:14 AM :
10/21/2017 3:50:14 AMAPP17-0000017880 CALL EFGP strat

10/21/2017 11:50:34 AM :
10/21/2017 3:50:34 AMPTA17-0000037904 CALL EFGP strat

10/21/2017 11:50:41 AM :
10/21/2017 3:50:41 AMPTA17-0000037909 CALL EFGP strat

10/21/2017 11:50:42 AM :
10/21/2017 3:50:42 AMPTA17-0000037913 CALL EFGP strat

10/21/2017 11:51:38 AM :
10/21/2017 3:51:38 AMSAP17-0000017299 CALL EFGP strat

10/21/2017 11:52:32 AM :
10/21/2017 3:52:32 AMAPP17-0000017880 CALL EFGP strat

10/21/2017 11:52:35 AM :
10/21/2017 3:52:35 AMPTA17-0000037909 CALL EFGP strat

10/21/2017 11:52:41 AM :
10/21/2017 3:52:41 AMPTA17-0000037904 CALL EFGP strat

10/21/2017 11:53:05 AM :
10/21/2017 3:53:05 AMPTA17-0000037909 CALL EFGP strat

10/21/2017 11:55:28 AM :
10/21/2017 3:55:28 AMAPP17-0000017880 CALL EFGP strat
106
10/21/2017 11:35:52 AM :
10/21/2017 3:35:52 AMECN17-0000035167 CALL EFGP strat

10/21/2017 11:45:49 AM :
10/21/2017 3:45:49 AMPTA17-0000037911 CALL EFGP strat

10/21/2017 11:46:38 AM :
10/21/2017 3:46:38 AMPTA17-0000037914 CALL EFGP strat

10/21/2017 11:47:21 AM :
10/21/2017 3:47:21 AMECN17-0000035148 CALL EFGP strat

10/21/2017 11:48:27 AM :
10/21/2017 3:48:27 AMPTA17-0000037914 CALL EFGP strat

10/21/2017 11:49:03 AM :
10/21/2017 3:49:03 AMPTA17-0000037914 CALL EFGP strat

10/21/2017 11:49:34 AM :
10/21/2017 3:49:34 AMECN17-0000035148 CALL EFGP strat

10/21/2017 11:51:41 AM :
10/21/2017 3:51:41 AMPTA17-0000037918 CALL EFGP strat

结果

10/21/2017 3:27:53 AMECN17-0000035182 CALL EFGP strat
10/21/2017 3:28:30 AMPAP17-0000026659 CALL EFGP strat
10/21/2017 3:30:26 AMMR17-0000001568 CALL EFGP strat
10/21/2017 3:32:11 AMMR17-0000001568 CALL EFGP strat
10/21/2017 3:33:40 AMMR17-0000001568 CALL EFGP strat
10/21/2017 3:36:00 AMMR17-0000001568 CALL EFGP strat
10/21/2017 3:36:15 AMPTA17-0000037906 CALL EFGP strat
10/21/2017 3:36:43 AMMR17-0000001568 CALL EFGP strat
10/21/2017 3:38:02 AMPTA17-0000037906 CALL EFGP strat
10/21/2017 3:38:54 AMMR17-0000001569 CALL EFGP strat
10/21/2017 3:40:35 AMPTA17-0000037910 CALL EFGP strat
10/21/2017 3:40:35 AMPTA17-0000037909 CALL EFGP strat
10/21/2017 3:41:05 AMPTA17-0000037904 CALL EFGP strat
10/21/2017 3:42:08 AMMR17-0000001569 CALL EFGP strat
10/21/2017 3:42:44 AMMR17-0000001568 CALL EFGP strat
10/21/2017 3:43:11 AMMR17-0000001568 CALL EFGP strat
10/21/2017 3:43:12 AMPTA17-0000037912 CALL EFGP strat
10/21/2017 3:43:23 AMPTA17-0000037904 CALL EFGP strat
10/21/2017 3:43:51 AMAPP17-0000017880 CALL EFGP strat
10/21/2017 3:46:03 AMAPP17-0000017880 CALL EFGP strat
10/21/2017 3:46:25 AMPTA17-0000037906 CALL EFGP strat
10/21/2017 3:46:38 AMPTA17-0000037910 CALL EFGP strat
10/21/2017 3:46:44 AMPTA17-0000037913 CALL EFGP strat
10/21/2017 3:47:06 AMAPP17-0000017880 CALL EFGP strat
10/21/2017 3:47:07 AMPTA17-0000037906 CALL EFGP strat
10/21/2017 3:48:25 AMPTA17-0000037910 CALL EFGP strat
10/21/2017 3:48:26 AMECN17-0000035187 CALL EFGP strat
10/21/2017 3:48:32 AMPTA17-0000037913 CALL EFGP strat
10/21/2017 3:50:14 AMAPP17-0000017880 CALL EFGP strat
10/21/2017 3:50:34 AMPTA17-0000037904 CALL EFGP strat
10/21/2017 3:50:41 AMPTA17-0000037909 CALL EFGP strat
10/21/2017 3:50:42 AMPTA17-0000037913 CALL EFGP strat
10/21/2017 3:51:38 AMSAP17-0000017299 CALL EFGP strat
10/21/2017 3:52:32 AMAPP17-0000017880 CALL EFGP strat
10/21/2017 3:52:35 AMPTA17-0000037909 CALL EFGP strat
10/21/2017 3:52:41 AMPTA17-0000037904 CALL EFGP strat
10/21/2017 3:53:05 AMPTA17-0000037909 CALL EFGP strat
10/21/2017 3:55:28 AMAPP17-0000017880 CALL EFGP strat
10/21/2017 3:35:52 AMECN17-0000035167 CALL EFGP strat
10/21/2017 3:45:49 AMPTA17-0000037911 CALL EFGP strat
10/21/2017 3:46:38 AMPTA17-0000037914 CALL EFGP strat
10/21/2017 3:47:21 AMECN17-0000035148 CALL EFGP strat
10/21/2017 3:48:27 AMPTA17-0000037914 CALL EFGP strat
10/21/2017 3:49:03 AMPTA17-0000037914 CALL EFGP strat
10/21/2017 3:49:34 AMECN17-0000035148 CALL EFGP strat
10/21/2017 3:51:41 AMPTA17-0000037918 CALL EFGP strat

C# 对文本文件的几种读写方法总结

计算机在最初只支持ASCII编码,但是后来为了支持其他语言中的字符(比如汉字)以及一些特殊字符(比如€),就引入了Unicode字符集。基于Unicode字符集的编码方式有很多,比如UTF-7、UTF...
  • tchenjiant
  • tchenjiant
  • 2015年10月27日 09:15
  • 8676

C#文本文件操作大全

  • 2009年08月30日 09:17
  • 4.66MB
  • 下载

C#.NET MVC 导出记事本(txt)

使用C#.NET的MVC模式将记录导出为txt格式
  • qq_33556442
  • qq_33556442
  • 2017年10月17日 09:55
  • 162

写文本txt文件内容(wince C#)

效果图说明: 环境:wince 工具:vs2008 功能:2.45G寻卡记录,每小时扫描的卡次数记录 源码如下:   /// /// /// ...
  • li0531
  • li0531
  • 2012年12月08日 11:06
  • 2979

.NET(C#):关于正确读取中文文本文件

当你用Windows记事本保存文本文件时,默认会使用ANSI编码保存,如果文本包含中文的话,会用GB18030标准编码(GB18030编码向后对GBK编码保持兼容,同时GBK也向后兼容GB2312编码...
  • htsnoopy
  • htsnoopy
  • 2011年12月26日 10:18
  • 3416

如何逐行读取文本文件 - .NET技术 / C#

StreamReader sr = new StreamReader(@"D:\a.txt");int lineCount = 0;while (sr.Peek() > 0){lineC...
  • cuiyan1982
  • cuiyan1982
  • 2015年08月12日 16:51
  • 1974

asp mvc 导出txt 文件泛型方法

public static void ExportFile(T obj) { StringBuilder str = new StringBuilde...
  • SpringFileld
  • SpringFileld
  • 2014年07月25日 15:01
  • 1071

asp.net导出txt文件

//通过repeater保存为txt文件 protected void btn3_Click(object sender, EventArgs e) { string se...
  • wym3587
  • wym3587
  • 2011年12月23日 09:42
  • 4733

C# 获取txt文本数据

FileInfo fi = new FileInfo(Server.MapPath("/Admin/ProductInitializeDataByTxt/Details_txt_zx.txt")); ...
  • Top_xin
  • Top_xin
  • 2014年04月21日 17:49
  • 1913

C#为txt文件追加文字并换行

string path= System.Windows.Forms.Application.StartupPath + "\\ErrorLog\\"+fileName +".txt";       ...
  • swarb
  • swarb
  • 2012年05月24日 09:08
  • 11589
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.Net C# Txt文本文件操作
举报原因:
原因补充:

(最多只允许输入30个字)