public double[,] ReadTxttest(string Path) { //初始化二维数组 double[,] array = new double[30000,25]; int i = 0; // 新建一个DataTable DataTable tb = new DataTable(); // 添加一列用于存放读入的浮点数 DataColumn c = tb.Columns.Add("Value", typeof(double)); // 打开文件准备读取数据 StreamReader rd = File.OpenText(@Path); string line; while ((line = rd.ReadLine()) != null) { // 拆分出一行的所有用空格分割的数据项 string[] values = line.Split(‘ ‘); //values为每行数据切割后的数组 // 将每个数据项转换成浮点数,并存入DataTable foreach (string s in values) //s为行内元素 { if (!string.IsNullOrEmpty(s)) { // 转换成浮点数 double v = double.Parse(s); // 存入DataTable DataRow r = tb.NewRow(); r["Value"] = v; tb.Rows.Add(v); } } //计算每行的数据量 Console.WriteLine(tb.Rows.Count); int j = 0; // 列数 //输出DataTable中保存的数组 foreach (DataRow r in tb.Rows) { var k = (double)r["Value"];//获取行内元素 if (!string.IsNullOrEmpty(k.ToString())) { array[i, j] = k; Console.WriteLine(i.ToString() +"--" +j.ToString() + "--" + k.ToString()); } else { array[i, j] = 1.23456; } j = j + 1; } // Console.WriteLine("行数是:" + tb.Rows.Count); //清除每行数据 tb.Rows.Clear(); i = i + 1; } rd.Close();//读取数据完毕,关闭文件 return (array); }
原文:https://www.cnblogs.com/heiheige/p/10723366.html