一文搞懂C#实现读写文本文件中的数据
一文搞懂C#实现读写文本文件中的数据
【1】首先我们定义一段假数据,这里以一个string为例字
static void Main(string[] args) { string data = "我的数据要开始存入文件了,我好开心啊!覆盖了吗?好像覆盖了,真的覆盖了"; }
【2】接着我们将这个数据写入.txt文件
代码如下:
/// <summary> /// 保存数据data到文件的处理过程; /// </summary> /// <param name="data"></param> public static String SavaProcess(string data) { System.DateTime currentTime = System.DateTime.Now; //获取当前日期的前一天转换成ToFileTime string strYMD = currentTime.AddDays(-1).ToString("yyyyMMdd"); //按照日期建立一个文件名 string FileName = "MyFileSend" + strYMD + ".txt"; //设置目录 string CurDir = System.AppDomain.CurrentDomain.BaseDirectory + @"SaveDir"; //判断路径是否存在 if(!System.IO.Directory.Exists(CurDir)){ System.IO.Directory.CreateDirectory(CurDir); } //不存在就创建 String FilePath = CurDir + FileName; //文件覆盖方式添加内容 System.IO.StreamWriter file = new System.IO.StreamWriter(FilePath,false); //保存数据到文件 file.Write(data); //关闭文件 file.Close(); //释放对象 file.Dispose(); return FilePath; }
结果是返回一个文件路径,根据具体场合可返回,也可不返回;我们来测试一下文件是否生成成功,我们在Main函数中调用这个方法,代码如下:
static void Main(string[] args) { string data = "我的数据要开始存入文件了,我好开心啊!覆盖了吗?好像覆盖了,真的覆盖了"; String filePath = SavaProcess(data); Console.WriteLine(filePath); }
运行结果如下:
很显然,在相关目录下,生成了想对应的文件;我们在看看cmd中打印出了如下路径:
D:\VSProject\SavaProcessToFile\SavaProcessToFile\bin\Debug\SaveDirMyFileSend20170628.txt
生成的这个路径对我们接下来的工作很重要,读取文本数据的时候需要用到;
【3】读取.txt文件数据
我们再定义一个读取数据的方法:
/// <summary> /// 获取文件中的数据 /// </summary> /// <param name="args"></param> public static string fileToString( String filePath ){ string strData = ""; try { string line; // 创建一个 StreamReader 的实例来读取文件 ,using 语句也能关闭 StreamReader using (System.IO.StreamReader sr = new System.IO.StreamReader(filePath)) { // 从文件读取并显示行,直到文件的末尾 while ((line = sr.ReadLine()) != null) { //Console.WriteLine(line); strData = line; } } } catch (Exception e) { // 向用户显示出错消息 Console.WriteLine("The file could not be read:"); Console.WriteLine(e.Message); } return strData; }
看见没?我们这边传入的参数就是生成文件的那个路径,注意,参数的类型是String表示文本的,而不是string表示字符串的,因为我再生成路径的时候就是用的String,所以这里对应起来;
接下来,我们来测试一下,看我们有没有读取文件成功,看cmd中是否会出现我们最初写入的那个字符串?我们在Main函数中调用方法,代码如下:
static void Main(string[] args) { string data = "我的数据要开始存入文件了,我好开心啊!覆盖了吗?好像覆盖了,真的覆盖了"; String filePath = SavaProcess(data); string strData = fileToString(filePath); Console.WriteLine(strData); }
运行结果如下:
结果出现了最开始存的那个字符串;
【4】写入和读取过程完整代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SavaProcessToFile { class Program { /// <summary> /// 保存数据data到文件的处理过程; /// </summary> /// <param name="data"></param> public static String SavaProcess(string data) { System.DateTime currentTime = System.DateTime.Now; //获取当前日期的前一天转换成ToFileTime string strYMD = currentTime.AddDays(-1).ToString("yyyyMMdd"); //按照日期建立一个文件名 string FileName = "MyFileSend" + strYMD + ".txt"; //设置目录 string CurDir = System.AppDomain.CurrentDomain.BaseDirectory + @"SaveDir"; //判断路径是否存在 if(!System.IO.Directory.Exists(CurDir)){ System.IO.Directory.CreateDirectory(CurDir); } //不存在就创建 String FilePath = CurDir + FileName; //文件覆盖方式添加内容 System.IO.StreamWriter file = new System.IO.StreamWriter(FilePath,false); //保存数据到文件 file.Write(data); //关闭文件 file.Close(); //释放对象 file.Dispose(); return FilePath; } /// <summary> /// 获取文件中的数据 /// </summary> /// <param name="args"></param> public static string fileToString(String filePath){ string strData = ""; try { string line; // 创建一个 StreamReader 的实例来读取文件 ,using 语句也能关闭 StreamReader using (System.IO.StreamReader sr = new System.IO.StreamReader(filePath)) { // 从文件读取并显示行,直到文件的末尾 while ((line = sr.ReadLine()) != null) { //Console.WriteLine(line); strData = line; } } } catch (Exception e) { // 向用户显示出错消息 Console.WriteLine("The file could not be read:"); Console.WriteLine(e.Message); } return strData; } static void Main(string[] args) { string data = "我的数据要开始存入文件了,我好开心啊!覆盖了吗?好像覆盖了,真的覆盖了"; String filePath = SavaProcess(data); string strData = fileToString(filePath); Console.WriteLine(strData); } } }
以上就是C#实现读写文本文件中的数据的详细内容,更多关于C#读写文本文件数据的资料请关注趣讯吧其它相关文章!
推荐阅读
-
华强北耳机和苹果耳机有啥区别(华强北苹果耳机跟正版有什么区别)
-
痛风食谱菜谱大全
痛风食谱菜谱大全男性到中年后,痛风食谱菜谱大全,最大的痛苦莫过于钱包鼓了,身子却垮了。现在都市人不健康的生活方式和过度劳累,让我们...
-
口里总是苦是什么原因(嘴里苦是什么原因)
大家好,今天来为大家解答嘴里苦是什么原因这个问题的一些问题点,包括口里总是苦是什么原因也一样很多人还不知道,因此呢,今天就来为大家...
-
全身美白产品排行榜10强(全身美白的产品)
全身美白的产品美白护肤是一项相对特殊的护肤方式,全身美白的产品,大家目前可以选购的美白功效护肤品,都是有特证认证的产品,也是官方认...
-
黄粱是小米吗(黄粱是小米还是水稻)
黄粱是小米。黄粱是一种粟米,粟米因为颗粒细小,又叫做小米,黄粱原产中国北方,是古代黄河流域重要的粮食作物之一,关于黄粱的典故有黄粱...
-
黑头黑脚的是什么动物(黑头黑脚代表什么动物)
黑头黑脚代表的动物是黑熊。黑熊全身的毛发都是黑色的,所以由此得来黑熊的称呼,黑熊的头部和脚部都是黑色的,所以黑头黑椒代表的动物是黑...
-
贵州选调生报考条件及时间2023年(贵州选调生报考条件及时间2023)
考研是场持久战,也是场信息战。每年临近暑假,就有很多院校发布公告,调整考研初试科目。这不,23考研人马上就又被“摆了一道”,又有几...
-
上海市公务员考报名时间2023时间(上海市公务员考报名时间2023)
2023年国考笔试考试延期举行,那2023年省考会延期吗?2023年省考对于已经发布招录考试简章地区,目前都已报名结束,进入笔试环...
-
银耳怎么吃降糖效果最好(银耳怎么吃)
银耳怎么吃说到银耳,银耳怎么吃,相信大家都不陌生了,经常拿来煲汤做糖水什么的!银耳口感脆爽,营养丰富,银耳富含维生素D,能防止钙的...
-
2023年纳音五行属什么命(2023年纳音)
2023年为农历【癸卯年】,属兔人为水兔之命。通过六十甲子纳音表查询可知,纳音为金箔金命,山林之兔。公元2023年,公历平年,共3...