如何用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也是一样

解决方案 »

  1.   

    不知道SQL能行不??那样也许很麻烦,
    建议楼主用LIST<STRING>来存放
      

  2.   

    解题思路:(1)读文件:读文本文件存入一个字符串( String txt ) 最大支持4GB.(2)字符串处理
      txt.Insert(position, "新加入的文本");  //指定位置加入的文本(3)写文件:把txt写入一个文本文件。另外:FileStream,流是单向,有去无回,不能随机定点插入文本。
      

  3.   

    就文本,不放SQL,SQL存取速度比文本慢太多
      

  4.   

    全部读出=>插入字符串=>全部保存。
      

  5.   

    就用FileStream,不过要两个,一个读取,一个创建新的。。读出来一行,就判断是否需要添加,是就添加了再写入新的。。
      

  6.   

    恩,三楼用StringBuilder更完美了