Well to read and write at the same time you will have to go to a base class of the streamreader and streamwriter... filestream. From there you can then open a file with readwrite file access and read/write content. Here is how it is done...
CODE
Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
Dim stream As FileStream
' Open file for reading and writing simultaneously
stream = New FileStream("c:\\testing.txt", FileMode.Open, FileAccess.ReadWrite)
' Lets move to position four from the beginning of the file
stream.Seek(4, SeekOrigin.Begin)
' Using an encoding (text files), read the textbox (text1) and write to stream at position specified above.
Dim uniEncode As New System.Text.ASCIIEncoding
stream.Write(uniEncode.GetBytes(text1.Text), 0, uniEncode.GetByteCount(text1.Text))
' Lets setup a byte array to read some of our text
' Make sure your byte array is big enough, here we only read about 10 test characters so 256 is enough.
Dim ByteArray(256) As Byte
' Reset our position back to beginning of file
stream.Position = 0
' Read the stream and place in array from 0 position onwards
stream.Read(ByteArray, 0, 256)
' Close stream
stream.Close()
' Show what was read
MessageBox.Show(uniEncode.GetString(ByteArray))
End Sub
The in code comments should explain it all. For your situation you will just need to find out where in the stream <body> is and then after it, write in your image text and close. That will put in your image.
Enjoy!