You're looking for the
Stream.Seek(..)[
^]-method with which you can position your "virtual cursor" in a stream (which may be a file).
Be aware that writing "in the middle" of a stream will not insert whatever you're writing but it will overwrite whatever already is at that position. There's no simple switch to change this; if you'd want to insert, you'd have to move the remainder backwards yourself by reading and re-writing it.
Depending on which particular class you're using for file-access you might find the Seek-method not directly on that class-object but under the BaseStream-property, e.g.:
myStreamWriter.BaseStream.Seek(..)
.
Also be aware that the ability to seek is not generally allowed for a stream, with files you'll usually be able to though. You can check whether a stream allows seeking with its property
.CanSeek
.