作者liaommx (Orz)
看板C_Sharp
标题Re: [问题] 有关档案读取
时间Wed Oct 21 11:29:38 2009
※ 引述《chiang0514 (chiang0514)》之铭言:
: 一个新手笨笨的问题
: 我想了很久了 想不到啥好办法
: 一个TXT挡
: 长的大约是如下的格式
首先,要知道你当初存的时候,是怎麽存的
是空格还是tab空字元?
我这边举个例子,是利用tab空字元去read的
前面的开档读档的部份
我就不多着墨了
FileStream F1 = new FileStream(ofdOpen.FileName, FileMode.Open);
StreamReader S1 = new StreamReader(F1, Encoding.UTF8);
这两行是开档、读档的部份,开档的内容,我是用ofdopen.filename这个位置的档案.
(我用openfiledialog这个方法询问开档的位置)
接着,用S1.readline,会一次读一行.
那我就会用
string[] R1 = S1.ReadLine().Split('\t'); //把每行资料分开取读
这个去承接..
split('\t')这个,则是希望把读进来的内容,中间分隔的符号是tab字元
以你的为例,若读进来r1[0]=A r1[1]=36 r1[2]=3.6
类似这样.
接着再进行你要的资料处理
读三次(三行),分别做处理,
细节就不多说了..PS:记得要下指令.把开启的档案关起来,
以本例子为例...f1.close()就可以关起来.
--
: 资料1 资料2
: A 36 3.6
: A 20 8.6
: A 60 7.6
: B 52 5.5
: B 98 6.3
: B 100 9.5
: C
: ...
: ...
: ...
: ...
: ...
: ...
: Z 20 3.3
: Z 30 8.6
: Z 60 4.4
: 为什麽会有3个A呢 因为3个A代表不一样的日期
: 现在问题是
: 我要如何抓出里面的数据
: 然後存到A[3] B[3] C[3].......Z[3] 这样几个阵列里面
: A[1]==资料1 A[2]==资料2 .....
: B[1]==资料1 B[2]==资料2 ....
: 大约是这样
: 能帮忙的话 真的非常感谢~~~~搞了一个晚上还没睡 乌乌........
: 去睡的画心理也不能心安........继续拼了..不该拖那麽晚的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.227.25