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

本文源于zhuxiaoge(http://www.cnblogs.com/zhuxiaoge/p/7094404.html),如有转载请标明出处,不甚感激!!!

C#实现读写文本文件中的数据的更多相关文章

  1. kNN(从文本文件中解析数据)

    # 准备数据:从文本文件中解析数据# 在kNN.py中创建名为file2matrix的函数,处理输入格式问题# 该函数的输入为文件名字符串,输出为训练样本矩阵和类标签向量# 将文本记录到转换Numpy ...

  2. Matlab中导入文本文件中的数据 矩阵合并 以及C++中删除文件操作

    今天用到了Matlab读取文本文件中按照一定格式存储好的数据,然后进行后续的分析计算等,因此涉及到Matlab的文件读取,记录在这里,供以后查阅: fid = fopen('train.set', ' ...

  3. c++读写matlab中.mat数据

    前言:在进行图形图像处理时,经常会用到matlab进行算法的仿真验证,然后再移植到别的语言中.有时会涉及到数据的交互,比如直接读取matlab的.mat类型数据,或者是将c++中的数组存为.mat,为 ...

  4. 利用java反射读写csv中的数据

      前一段有个需求需要将从数据库读取到的信息保存到csv文件中,在实现该需求的时候发现资料比较少,经过收集反射和csv相关资料,最终得到了如下程序.  1.在使用java反射读取csv文件数据时,先通 ...

  5. 使用json读写文件中的数据

    把json的数据写入到文件中 import json with open('data.json','w+') as f: json.dump({"name":"张彪&qu ...

  6. Spark读写Hbase中的数据

    def main(args: Array[String]) { val sparkConf = new SparkConf().setMaster("local").setAppN ...

  7. Java基础知识强化之IO流笔记46:IO流练习之 把文本文件中数据存储到集合中的案例

    1.  把文本文件中数据存储到集合中      需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合. 分析:      通过题目的意思我们可以知道如下的一些内容,      数据 ...

  8. load data导txt文件进mysql中的数据

    1.实验内容: 利用SQL语句“load data ”将“.txt”文本文件中的数据导入到mysql中 2.实验过程: 首先我创了一个txt(也可以是其他的),设置其编码为utf-8,在windows ...

  9. Java入门:读写文本文件

    文本文件的读写是学习java必须掌握的一项基本技术,因为在项目中时常会涉及到文本文件的读写. 一.使用FileWriter写文件 1.FileWriter类 [功能] FileWriter类专门用来写 ...

随机推荐

  1. web 文件下载

    response.reset(); response.setContentType("octets/stream"); response.addHeader("Conte ...

  2. ibatis实现Iterate的使用 (转)

    <iterate         property="" /*可选,              从传入的参数集合中使用属性名去获取值,              这个必须是一 ...

  3. JavaScript-Confirm用法

    function checkMobileBind() {    if(confirm('您尚未绑定手机,是否前往绑定?'))    {        window.location='http://m ...

  4. 我的Android进阶之旅------>如何为ListView组件加上快速滑块以及修改快速滑块图像

    使用布局文件需要将android:fastScrollEnabled="true" ,如下代码所示: <ListView android:id="@+id/list ...

  5. 我的Android进阶之旅------>Android疯狂连连看游戏的实现之实现游戏逻辑(五)

    在上一篇<我的Android进阶之旅------>Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)>中提到的两个类: GameConf:负责管理游戏的 ...

  6. hibernate Session的CRUD操作

    使用Session里面的方法进行CRUD操作 (1) 增加 save 方法 (2) 查找 get 方法(根据id查) (3) 修改 update 方法 (4) 删除 delete 方法 1.增加 /* ...

  7. python cookbook第三版学习笔记十五:property和描述

    8.5 私有属性: 在python中,如果想将私有数据封装到类的实例上,有两种方法:1 单下划线.2 双下划线 1 单下划线一般认为是内部实现,但是如果想从外部访问的话也是可以的 2 双下划线是则无法 ...

  8. Xen虚拟化基础篇

    一.xen的简介 Xen是一个开放源代码虚拟机监视器,由剑桥大学开发.它打算在单个计算机上运行多达128个有完全功能的操作系统. 在旧(无虚拟硬件)的处理器上执行Xen,操作系统必须进行显式地修改(& ...

  9. Blobstore Java API overview

    Blobstore API允许你的应用程序使用(serve)叫做Blobs的数据对象.这种数据对象比Datastore服务所允许的对象的尺寸大得多.Blobs能有效地为大文件比如视频.图片提供服务,允 ...

  10. UML建模:学习笔记(1)

    UML:学习笔记(1) 事物 结构事物 类: 接口: 协作:(定义元素之间的相互作用) 用例:(在系统外部和系统交互的人) 组件:(描述物理系统的一部分) 节点:(一个节点可以被定义为运行时存在的物理 ...