C#中如何逐行读取txt中的数据并赋值到一维数组中。

我的文本文件是每行一个整数,希望编写一个函数将文件中的数字逐行读入一个字符串数组中再转化成数字数组。可以随时补充问题。特别好可以加分。

(1)文本文件中的数据按行存放,每行一个数据,数据的数量不定,可多可少。从文本文件中读入的数据并转换后,先存放泛型集合List<T>,最后再将List<T>转换成一维数组。

(2)实现代码:文本文件 D:\data.txt 中存放的数据为浮点类型,每行一个数据

using System;
using System.Collections.Generic;
using System.IO;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string filePath = @"d:\data.txt";
            
            // 从数据文件读取数据
            float[] values = GetDataFromFile(filePath);
            
            // 显示数据
            for (int i = 0; i < values.Length; i++)
            {
                Console.WriteLine(values[i]);
            }

            Console.WriteLine("按Enter键退出");
            Console.ReadLine();
        }

        static float[] GetDataFromFile(string datafilePath)
        {
            // 创建泛型列表
            List<float> list = new List<float>();

            // 打开数据文件 D:\data.txt逐行读入
            StreamReader rd = File.OpenText(datafilePath);
            string line;
            while ((line = rd.ReadLine()) != null)
            {
                // 将读入的数据转换成float类型值
                float result;
                if (float.TryParse(line, out result))
                {
                    // 转换成功,加入到泛型列表
                    list.Add(result);
                }
                else
                {
                    // 转换失败,显示错误提示
                    Console.WriteLine("数据格式错误!");
                }
            }
            // 关闭文件
            rd.Close();

            // 将泛型列表转换成数组
            return list.ToArray();
        }
    }
}

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-01-05
只给最经典的。楼上的些方法都不能满足“逐行”这两个字
public IEnumerable<string> GetStringArray()
{
StreamReader sr = new StreamReader("文件物理路径");
string str = null; string temp = null;
while ((temp = sr.ReadLine()) != null)
{
// System.Threading.Thread.sleep(3000);
yield return temp;
}
}本回答被提问者和网友采纳
第2个回答  2013-01-29
string[] strs = System.IO.File.ReadAllLines(Server.MapPath("/l.txt"), System.Text.Encoding.Default);
int[] numbers = new int[strs.Length];
int i = 0;
foreach (string str in strs)
{
numbers[i] = int.Parse(str);
i++;
}

全部手打 给分啊
第3个回答  2013-01-29
var lines = File.ReadAllLines("filepath").ToList();这个是你要的字符串的数组
var intArr = lines.ConvertAll(o=> (int)o);//这是你要的数字类型的字符串
纯手打,没测过,应该没问题

...把txt文件里的多行多列数据存入到一维数组中。
int line = 7; int lnow = 1; string filepath = "";\/\/文件路径 List<double> value = new List<double>(); using (var stream = new StreamReader(filepath)) { List<string> txt = new List<string>(); while (!stream.EndOfStream) { txt.Clear();...

利用C#语言,将txt文件里面的这样一堆数据赋值给一个一维数组,数据长度...
public int[] GetArrayFromTxt(string path){List<int> numList=new List<int>();StreamReader reader = new StreamReader(path);while(!reader.EndOfStream){ string line= reader.ReadLine(); foreach(var item in line.Split(new char[]{','},StringSplitOptions.RemoveEmptyEntries)) ...

c#怎么一行一行的读取TXT文本 每读取一行内容 就把这一行的内容写入一个...
string line = string.Empty;List<string> lines = new List<string>();using (StreamReader reader = new StreamReader(@"text1.txt")){ line = reader.ReadLine();while (line !=""&&line !=null){ lines.Add(line);Console.WriteLine(line);line = reader.ReadLine();} } ...

怎样用C#读取TXT文件并赋值给一二维数组???
先定义一个二维数组,FileStream fs=new FileStream("文件路径");StreamReader sr=new (fs,FileMode.Open);if(sr.HasRows){ while(sr.readLine())\/\/每次读取一行 { 这里将该行以空格为分隔符转换成一个string数组,然后赋值就行了 } }

C#里面如何将.txt文件中的数据读入,存入数组
System.IO.TextReader reader = new System.IO.StreamReader(filePath);使用 reader.ReadLine()或reader.ReadToEnd()获取字符串,按照你的需要存入数组即可

C#,如何一行一行的读取TXT文本 每读取一行内容 就把这一行的内容写入一...
string line = string.Empty;List<string> lines = new List<string>();using (StreamReader reader = new StreamReader(@"text1.txt")){ line = reader.ReadLine();while (line !=""&&line !=null){ lines.Add(line);Console.WriteLine(line);line = reader.ReadLine();} } \/\/通过C#中...

C#如何获取txt文本文档中指定的字符串并赋给数组,例如:获取文本文档...
string S;string[] SplitArray;SR = File.OpenText("D:\\\\xx.txt"); \/\/字符串所在文件 S = SR.ReadLine(); \/\/读一行 if(S != null){ SplitArray = S.Split('='); \/\/把字符串分成字符串数组,abcd,1234等等。\/\/...这里写你处理字符串的代码 \/\/...} SR.Close(); \/\/关闭文件 ...

C#语言如何把txt的文件的每一行读出来(一行中有两个数,格式:2,3)把...
\/\/创建一个二维数组,C#中List与正常的数组使用方法是相同的 List<List<int>> result = new List<List<int>>();\/\/初始化一个StreamReader对象用于输入流的读取,构造函数传入一个文件流的对象 StreamReader sr = new StreamReader(new FileStream("tmp.txt",FileMode.Open));\/\/循环读取一行字符串 ...

c#如何把textbox里得数据按行读取到一个数组里,一行数一个数组元素
思路分析:根据题意,是要建立一个字符串数组,将TextBox.Text属性值按换行符分隔,放入字符串数组。可以使用函数Split.代码如下:string[] arr_str = Strings.Split(textBox1.Text, '\\n');

C#怎么分行读取Txt文件的数据
(1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出。 byte[] byData = new byte[100]; char[] charData = new char[1000]; public void Read() { try { FileStream file = new FileStream("E:\\\\test.txt", FileMode.Open); file.Seek(0, SeekOrigin.Begin); file.Read(byData, ...

相似回答