var fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite); using(var writer = new StreamWriter(fs)) writer.Write(....);
If
you could try writer.BaseStream.SetLength(writer.BaseStream.Position) although I'm not sure how well that would work.
writer.BaseStream.SetLength(writer.BaseStream.Position)
For a FileStream I think that should truncate the file to the current position.