文本文件解析

来源:互联网 发布:成都电视台网络直播 编辑:程序博客网 时间:2024/06/06 09:21

文件读写是我的弱项,一直只是知道,却很少去用,昨天哥们问我如何给文本文件中的每一行添加内容,才开始去学习。
题目:读取给定的文本文件(Tree.dat),将解析的内容另存为另一个文本文件,要求分行增加新的Value内容(具体值不限)。
文本文件格式:
这里写图片描述

直接上代码:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace ReadAndWriteText{    class Program    {        static void Main(string[] args)        {            try            {                using (StreamReader sr = new StreamReader("Tree.dat", System.Text.Encoding.Default))                {                    string line = "";                    //随机数                    Random rand1 = new Random();                    if (File.Exists("NewTree.dat"))                    {                        Console.WriteLine("已经存在NewTree.dat,原文件会被删除,会重新创建一个新的NewTree.dat");                        File.Delete("NewTree.dat");                    }                     int i = 1;                    //读取文件直到文件结束                    while ((line = sr.ReadLine()) != null)                    {                        //创建一个新文件。                        using (StreamWriter sw = new StreamWriter("NewTree.dat",true))                        {                            if (i <= 1)                            {                                line += "\t\t Value";                            }                            else                             {                                line += "\t" + rand1.Next(100).ToString();                            }                            //写入文件                            sw.WriteLine(line);                            //输出到控制台                            Console.WriteLine(line);                        }                        i++;                      }                }            }            catch (Exception e)            {                Console.WriteLine("The file could not be read:");                Console.WriteLine(e.Message);            }            Console.WriteLine("文件已经读写成功!");            Console.ReadKey();        }    }}

再来几张结果图
控制台:
这里写图片描述

文件的运行目录下也已经有了NewTree.dat文件
这里写图片描述

最后有两个地方需要注意的地方,第一个是文件的编码问题,如下,使用System.Text.Encoding.Default不会改变文件的原有的编码,也就不会出现乱码问题。

SreamReader

StreamReader sr = new StreamReader("Tree.dat", System.Text.Encoding.Default)

第二个是,是追加文件内容还是覆盖,
StreamWrite

StreamWriter sw = new StreamWriter("NewTree.dat",true)

至此,结束。。。
程序源代码:
http://download.csdn.net/detail/gongchao1212/8953641
参考资料: MSDN 2008中文简体版

0 0