日期:2014-05-19  浏览次数:20710 次

一个访问文件 并 操作 的问题  ?????????帮个忙啥。。。
已知一个顺序文件A,格式如下:
① REC-KEY数字型8位(前零补足)
② REC-SUBKEY数字型2位(前零补足)
③ REC-NAME文字型8位(后空格补足)
其中①②为主键,已按升序排列,每条数据以回车换行符结束。请做以下操作并对所有分支进行测试。
        从头至尾一行一行读文件,将①相同的每一组数据的第一条输出到顺序文件B,并且将③为数字的数据输出到顺序文件C.在读之前,需要一个询问,读完之后,将A的输入数据行数,B、C的输出数据行数输出到顺序文件D。

例:顺序文件A
0000000101AAAAAAAA
0000000102AAAAAAAB
0000000103AAAAAAAC
000000010412345678
顺序文件B
0000000101AAAAAAAA
顺序文件C
000000010412345678
顺序文件D
A的输入行数=4,B的输出行数=1,C的输出行数=1


------解决方案--------------------
//随手写了一个,没经过测试.基本上如些...楼主再改改.

int iA;
int iB;
int iC;

StreamReader srA = new StreamReader(A);
StreamWriter swB = new StreamWriter(B);
StreamWriter swC = new StreamWriter(C);
StreamWriter swD = new StreamWriter(D);


sline = sr.ReadLine();
while(sline != null)
{
iA ++;
if(isB())
{
iB ++;
swB.WriteLine(sline);
}
else if(isC())
{
swC.WriteLine(sline);

}
sline = sr.ReadLine();
}
swD.WiteLine( "A的输入行数={0},B的输出行数={1},C的输出行数={2} ",iA,iB,iC);
srA.Close();
......