如何用c#实现在txt的任意指定位置添加字符串而不会把其他字符覆盖掉,
比如我有aa.txt文件里面有内容:
aaaaaa
bbbbbb
cccccc
dddddd
现在我要在aaaaa前面插入数据或者在bbbb前面插入数据变成
xxxxx
aaaaa
bbbbb
ccccc
或
aaaaa
xxxxx
bbbbb
ccccc
如果文件小我可以把文件内容读出来重新组合,但是我的文件都太大了,而且文件数量非常多用手工操作会累死的。StreamWriter sw = new StreamWriter(dir + foldname + ".txt", true);
sw.BaseStream.Position = 0;
sw.WriteLine(list[j].ToString());
得到的提示是:“无法通过向后搜索来改写以追加模式打开的文件中的原有数据”;
用FileStream也是一样
比如我有aa.txt文件里面有内容:
aaaaaa
bbbbbb
cccccc
dddddd
现在我要在aaaaa前面插入数据或者在bbbb前面插入数据变成
xxxxx
aaaaa
bbbbb
ccccc
或
aaaaa
xxxxx
bbbbb
ccccc
如果文件小我可以把文件内容读出来重新组合,但是我的文件都太大了,而且文件数量非常多用手工操作会累死的。StreamWriter sw = new StreamWriter(dir + foldname + ".txt", true);
sw.BaseStream.Position = 0;
sw.WriteLine(list[j].ToString());
得到的提示是:“无法通过向后搜索来改写以追加模式打开的文件中的原有数据”;
用FileStream也是一样
建议楼主用LIST<STRING>来存放
txt.Insert(position, "新加入的文本"); //指定位置加入的文本(3)写文件:把txt写入一个文本文件。另外:FileStream,流是单向,有去无回,不能随机定点插入文本。