我正在尝试使用FileStream写入一个文件,并且希望写入第二行然后写入第一行。在写完第二行之后,我使用Seek()返回到开头,然后写入第一行。它取代了第二行(或者取决于第一行的长度,它的一部分)。我怎样才能不取代第二行?C# - 随机写入文件 - 在第一行之前写入第二行
var fs = new FileStream("my.txt", FileMode.Create);
byte[] stringToWrite = Encoding.UTF8.GetBytes("string that should be in the end");
byte[] stringToWrite2 = Encoding.UTF8.GetBytes("first string\n");
fs.Write(stringToWrite, 0, stringToWrite.Length);
fs.Seek(0, SeekOrigin.Begin);
fs.Write(stringToWrite2, 0, stringToWrite2.Length);
以下是写入文件:
first string
hould be in the end
我想这是
first string
string that should be in the end
感谢
当您寻求流的开始时,您正在设置您要写入的位置。如果数据已经存在,它将被覆盖。 – 2011-04-17 10:12:00