当前位置: 代码迷 >> C# >> 读取文件计算行数的有关问题
  详细解决方案

读取文件计算行数的有关问题

热度:109   发布时间:2016-05-05 04:25:10.0
读取文件计算行数的问题!
45  a
36  a
58  a
21  a
31  b
12  b
23  b
21  c
32  c
45  c


这是我的文件格式,我要先计算带有a的行数,写在输出文件的第一行,再把带有a的行写在下面,之后再写带b的行,再写带c的行。输出文件是下面的格式:
a 4
45
36
58
21
b 3
31
12
23
c 3
21
32
45


我现在是先读一遍源文件,计算出带a、b、c各自的行数,写在一个临时文件里,然后再重新读一遍源文件,同时读临时文件,再写到输出文件中。
我总觉得这样很繁琐,不知道有没有简便的方法,读一次源文件就可以实现?
------解决思路----------------------
用streamreader读出所有行,自己放到列表或数组中,然后自己遍历或用linq统计,组织显示数据
------解决思路----------------------
对a,b,c分别开一个:
  List<string> aList = new List<string>();
  List<string> bList = new List<string>();
  List<string> cList = new List<string>();
你读第一遍的时候就存到各自的List数组里面去,写文件的时候从List数组里面取就是了。
------解决思路----------------------
如果数据量大,也可以使用N个临时文件来分别记录每个字母的数据,

这样还省事,最后,一个dos命令直接搞定:
copy a_count.txt + a.txt + b_count.txt + b.txt .......
  相关解决方案