我正在嘗試使用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