【问题标题】:Is it possible to write to the middle of a file using Filestream in C#是否可以在 C# 中使用 Filestream 写入文件中间
【发布时间】:2013-11-25 11:37:48
【问题描述】:

想知道是否可以使用 .NET/C# 中的 FileStream 将文本插入文件中间。如果没有,还有其他方法吗?我看到了 Truncate and Append 选项,但显然这不是我想要的。我想我可以打开一个文件流源,创建另一个目标文件并在我认为合适的时候写入它,然后截断源并从第二个文件或大缓冲区写回它,或者删除源并将目标文件重命名为原始源文件名。

我想我的问题是,这种事情如何最有效、最安全地完成。

【问题讨论】:

标签: c# filestream


【解决方案1】:

否 - 这基本上是大多数文件系统的限制。

我会推荐您建议的方法(从原始文件选择性复制到新文件),然后只需重命名文件而不是复制回原始文件的顶部。

如果您很高兴将整个文件保存在内存中,您可以按照问题中的注释将整个文件读入内存,进行更改然后覆盖现有文件 - 但显然这不会像以及非常大的文件。这一切都取决于上下文。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    相关资源
    最近更新 更多