c# 怎样从文本文档中读入浮点数

来源:百度知道 编辑:UC知道 时间:2024/09/20 22:27:50
比如data.txt中有12个浮点数,我想用C#每次读入3个数,运算后,又读下面3个,直到文件尾...

P.S.原来是用C++,用
ifstream fin;
for(i=1;i<=3;i++)
fin>>a;
这样很方便,而且文件流会自动从上次读取完的位置开始读,并且自动忽略空格,但现在用C#,不知道怎么办了...
楼上的我看了,但有时候上千组数据进来,根本就是只用空格隔开的,根本不分行.何况我一次只用3个,整行读进来,不一定刚好是3的倍数,各方面都很麻烦
我一次只用3个,如果数据量特别庞大的话,一次全部读进来到数组里,数组不就很大了么...

虽然你的问题好像跟xml无关,但是可以用xml实现

相当简单,只需三行便可以把文件中的数据读成double数组,至于读成之后你想干啥就干啥了。
XmlReader x =XmlReader.Create("E:\\1.xml");
x.MoveToContent();
double[] a =(double[])x.ReadElementContentAs(typeof(double[]),null);

当然你要把原来的文件做成一个xml文件,可以这样做:
<root>
123 1.2 4.2 5.6 57.5
</root>
也就是说,在你原来的txt文件的头尾加上<root>和</root>就行了,当然你可以把root换成任何其它的字符串都可以。然后另存为,文件名后缀为xml就行了

StreamReader sr=new StreamReader("123.txt");
string strTxt=sr.ReadToEnd();
Console.WriteLine(strTxt);

---------------------------------------------
明白了你的意思!
按照楼上的说法!
你要文件一行一行的读取也是可以的:
----------------------------------------------
循环内加个判断读三行跳出循环然后继续...

可以读取文件的一行,然后用空格作为分割符号保存到数组,然后将字符转为浮点