C#:前置文件的开头

Gra*_*ace 35 c# file-io

使用C#将文本添加到文件开头的最佳方法是什么?

我找不到一种简单的方法来做到这一点,但想出了几个解决办法.

  1. 打开新文件,编写我想要添加的文本,将旧文件中的文本追加到新文件的末尾.

  2. 由于我要添加的文本应该少于200个字符,我以为我可以在文件的开头添加空格字符,然后用我想要添加的文本覆盖空白区域.

有没有其他人遇到过这个问题,如果有的话,你做了什么?

Vic*_*ins 30

这适用于我,但对于小文件.可能这不是一个非常好的解决方案.

string currentContent = String.Empty;
if (File.Exists(filePath))
{
    currentContent = File.ReadAllText(filePath);
}
File.WriteAllText(filePath, newContent + currentContent );
Run Code Online (Sandbox Code Playgroud)


JP *_*oto 13

添加到文件的开头(前置而不是附加)通常不是受支持的操作.你的#1选项很好.如果你不能写一个临时文件,你可以将整个文件拉到内存中,将数据预先发送到字节数组,然后将其覆盖回来(这只有在文件很小而你不需要的时候才真正可行)在一次内存中有一堆,因为在没有副本的情况下预先放置数组并不一定容易.

  • 哦,对,"前置." 谢谢!我想不出正确的话. (2认同)