百思不解,如何替换文本文件中的指定一行的数据
1,姓名,性别,年龄,中国
2,姓名,性别,年龄,中国
3,姓名,性别,年龄,90,eee,kkk,fff
4,你好,欢迎你,77,88
... ...
如上面的一个文本文件里的内容,我就想把第4行的数据用别的数据替换掉,
我查看MSDN帮助,有针对“字节”偏移的seek方法,没针对某一行的
还有对文本文件的操作,好像不能用替换的方法,要么数据在后面append,要么全部数据重写
想了好几天也没有结果,郁闷!
盼望解决!
问题点数:100、回复次数:9Top
1 楼hujiiori(Coder×Coder——sytu)回复于 2004-12-01 19:38:52 得分 5
关注Top
2 楼FlashElf(銘龘鶽)回复于 2004-12-01 21:02:48 得分 5
你说的对,要么自己计算偏移要么
就是追加或 全部数据重写
不过算法要自己写。Top
3 楼dazhu2(【倚天不出,谁与争锋】)回复于 2004-12-01 21:38:20 得分 5
好像是没有好的办法直接改写,Top
4 楼nnfzj(学习思归)回复于 2004-12-02 08:38:22 得分 0
如果就想替换某一行数据的话,看来是用数据库方便多了?
不知各位还有没有更好办法!
Top
5 楼nga96(因为我笨,所以努力。陈勇华)回复于 2004-12-02 08:42:27 得分 5
自己写一个吧,进行检索然后替换,要不用正则表达式也可以Top
6 楼chenyuming2004(这辈子我算是废了)回复于 2004-12-02 11:15:32 得分 75
int rowpos=1;
StreamReader str=new StreamReader(@"F:\cym\1.txt",System.Text.Encoding.Default);
while(str.Peek()>=0)
{
if(rowpos!=4)
{
textBox1.Text+=str.ReadLine()+"\r\n";
}
else
{
str.ReadLine();
textBox1.Text+="6 aaa 333 777"+"\r\n";
}
rowpos++;
}
str.Close();
StreamWriter sw=new StreamWriter(@"F:\cym\1.txt",false,System.Text.Encoding.Default);
sw.Write(textBox1.Text);
sw.Close();
里面的4就是你要替换的行数,改成你需要的就行了。Top
7 楼jackymi(完美刺客)回复于 2004-12-02 11:19:35 得分 5
chenyuming2004(一切从2004开始)
思路不错Top
8 楼nnfzj(学习思归)回复于 2004-12-02 13:21:46 得分 0
嗯,挺好!
可以实现!Top
9 楼dazhu2(【倚天不出,谁与争锋】)回复于 2004-12-02 14:16:08 得分 0
/Top




