多语言展示
当前在线:1645今日阅读:23今日分享:25

C#怎么读写文本文件

c#对文本文件的读写主要通过stream类来实现,读写文本文件不但操作简单,不需要一个个数据输入,还不易出错,是一个非常不错的方法。
工具/原料

电脑,visual studio 2015

方法/步骤
1

打开visual studio 2015,文件-新建-项目,或者文件-打开一个原有的项目。这里我们采用的是窗体应用程序。

2

首先定义变量用于存储从文本文件中读取的数据,可以是全局变量也可以是局部变量,具体情况根据个人编写的程序要求而定。、        string[] CoorptName;        int partNum = 0;//段号        double[] aerfa;//α角        double[] R;//半径        double[] Ls;//缓和曲线长        double[] TH;//切线长        double[] LT;//曲线长        double[,] Coor;//JD点的X,Y        double[] K_ZH;//各对应点里程        double[] K_HY;        double[] K_YH;        double[] K_HZ;        double[] Aj1;//线路坐标方位角        double[] Aj2;

4

下面的using和catch是为了是程序更加完善,当出现错误时,提醒用户如何出错而设定的。 if (openFileDialog.ShowDialog(this) == DialogResult.OK)            {                textBox1.Text = openFileDialog.FileName;//文件路径                myname = openFileDialog.FileName;                try                {                    using (StreamReader sr = new StreamReader(myname))                    {                        string line;                        while ((line = sr.ReadLine()) != null)                        {                            string lineStr = line.Trim();                            if (lineStr.Equals('') == false)//文件中有空行则不加                            {                                partNum++;                            }                        }                        sr.Close();                    }                }                catch (Exception ee)                {                    MessageBox.Show(ee.Message);                }

5

数组的定义大家就根据个人情况而定,读取文本文件按一行行读进来: while ((line = sr.ReadLine()) != null)每个数据之间可能是空格、中文逗号(,)或者英文逗号(,)等隔开的: string[] splitStr = line.Split(new Char[] { ' ', ',', ',' });

6

下面添加实现对文本文件的读取出来的代码,主要使用Substring函数来实现对每个数据的读取: CoorptName[i] = splitStr[0]; degree[i] = System.Convert.ToDouble(splitStr[1].Substring(0, 3));//Substring()取出度分秒 minute[i] = System.Convert.ToDouble(splitStr[1].Substring(3, 2)) / 60; second[i] = System.Convert.ToDouble(splitStr[1].Substring(5, 4)) / 3600; aerfa[i] = (degree[i] + minute[i] + second[i]) * Math.PI / 180;//度--->弧度                        R[i] = System.Convert.ToDouble(splitStr[2]);                        Ls[i] = System.Convert.ToDouble(splitStr[3]);                        TH[i] = System.Convert.ToDouble(splitStr[4]);                        LT[i] = System.Convert.ToDouble(splitStr[5]);                        Coor[i, 0] = System.Convert.ToDouble(splitStr[6]);                        Coor[i, 1] = System.Convert.ToDouble(splitStr[7]);                        K_ZH[i] = System.Convert.ToDouble(splitStr[8]);                        K_HY[i] = System.Convert.ToDouble(splitStr[9]);                        K_YH[i] = System.Convert.ToDouble(splitStr[10]);                        K_HZ[i] = System.Convert.ToDouble(splitStr[11]);这里小编只选取一部分,具体的大家以此类推就可以了。 splitStr[0]、splitStr[1]、splitStr[2]......表示取一行中的第一个数、第二个数第三个数......Substring(0, 3)是选取一个数的从第一位开始然后一共取3位数。因为c#里0表示第一位,和数组的定义一个道理。

7

点击启动-导入数据

8

打开我们的数据文件,可以发现,这样就实现了对文本文件的读写了。

推荐信息