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

如何用程序实现向一个文件(文本文件|word)定点插入字符
比如我有一个文本文件demo.txt   和   demo.doc
内容都是:
kevin   is   a   good   boy!
凯文是个好鸟!

我想在 "凯文 "的后面插入一个 "不 "字该怎么做.
我觉得问题有三个
1   要解决双字和单字的问题
2   (在1的基础上就应该比较简单一点了吧)获取要插入的位置
3   向文件插入 "不 "

------解决方案--------------------
我写了个测试的,你参考下
string fileName =string.Empty;
fileName= "..\\ "+ "In.txt ";

FileStream vFileStream = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite);
string vText = "Test Nick ".PadRight(35, ' ');
if (vFileStream.Length==0 )
{return;}

long a;
long b;
long c;


a=vFileStream.Length;

c=a % 37;

if (a==0)
{
vFileStream.SetLength(vFileStream.Length -37);
}
else
{
vFileStream.SetLength(vFileStream.Length -c);
}



vFileStream.Seek(0, SeekOrigin.End);
byte[] vBuffer = new byte[0x100000];
vText += "\r\n ";
vBuffer = Encoding.Default.GetBytes(vText);
vFileStream.Write(vBuffer, 0, vBuffer.Length);
vFileStream.Close();