var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
using(var writer = new StreamWriter(fs))
writer.Write(....);
Если файл, ранее содержащий текст и ново написанный текст, был короче, чем тот, что уже был в файле, как я могу урезать устаревший конечный контент в файле?
Обратите внимание, что открытие файла в режиме усечения не является вариантом в этом случае. Файл уже открыт, когда я получаю объект FileStream
. Вышеприведенный код просто иллюстрирует свойства потока.
ИЗМЕНИТЬ
Развернув ответ ниже, решение:
var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
using(var writer = new StreamWriter(fs))
{
writer.Write(....);
writer.Flush();
fs.SetLength(fs.Position);
}