StreamWrite只能的文件的结尾添加文本?
StreamWrite只能的文件的结尾添加文本?
看代码:
string path = Environment.CurrentDirectory + @"\1.txt";
using (StreamWriter theStreamWriter = File.AppendText(path))
{
theStreamWriter.BaseStream.Seek(-1, SeekOrigin.Begin);//我加这行代码是为了将文件指针移到文件开头之前,以便在文件的开头追加一行。但是这样运行却报错 只能将这一行注释掉
theStreamWriter.WriteLine(“aaaaaaaaaaaaa”);//将上一行注释掉以后,运行结果就是在原文件的末尾添加了要添加的内容,这是不符合我的愿望的。
}
用StreamWrite怎样在想要的位置添加内容?
------解决方案--------------------对文件的操作,不支持插入,只能添加,所谓的插入效果都是重写整个文件来实现的。至于特殊的编辑器实现了插入效果,那个应该是从文件系统底层来实现的,C#无能为力。如果你会了磁盘碎片整理程序的运行原理,就可以做到该效果了。
------解决方案--------------------将后面的数据读取出来,将文件截短到插入位置,写入新插入的数据,然后写入之前读取的后面的数据。