想知道是否可以使用.NET / C#中的FileStream在文件中间插入文本.如果没有,还有另一种方法吗?我看到了“截断”和“附加”选项,但是显然这不是我想要的.我想我可以打开一个文件流源,创建另一个目标文件并按我认为合适的方式写入它,然后截断该源并从第二个文件或较大的缓冲区写回它,或者删除源并将目标文件重命名为原始源文件名.
我想我的问题是,如何最有效,最安全地完成这种事情.
解决方法:
否-从根本上讲,这是大多数文件系统的限制.
我会推荐您建议的方法(从原始文件到新文件的选择性复制),但是只是重命名文件而不是复制回原始文件的顶部.
如果您很乐意将整个文件存储在内存中,则可以按照问题中的注释将整个文件读入内存,进行更改,然后覆盖现有文件-但很显然,这种做法并不能很好地扩展大文件.这完全取决于上下文.