日期:2014-05-18  浏览次数:20853 次

请问怎样在文件指定位置处插入字节?
例如一个文本文件内容为123456
对应二进制的内容为 31 32 33 34 35 36 那么我如果想在 33和34之间插入一个字节FF,应该怎么做呢.


用FileStream可以吗,好像它里面的Write和WriteByte都只能覆盖当前position位置处的内容.

如果这样写的话只能把33变为FF,即变成"31 32 33 34 35 36",怎样才能得到插入的效果呢?

C# code

FileStream fs = new FileStream(@"D:\test.txt", FileMode.Open);
fs.Position = 2;
fs.WriteByte(0xFF);
fs.Close();



------解决方案--------------------
你可以把你插入位置之后的内容先和你要插的内容合并,然后再写回去
------解决方案--------------------
不用写文件啊,写到byte数组里就可以
------解决方案--------------------
如果文件不大,可以直接放在byte[]里,否则还是放一个文件里比较妥当,这也不是很复杂嘛。