I have the following code:
StringReader contentReader = new StringReader(this.dataContent.ToString());
After I parse my DataContent, I need to reset the poistion of the contentReader to begining of the string. How do I do it? I dont see a set poistion option in StringReader
Set it to a new instance of StringReader. I don't believe you can change the position of an existing one.
contentReader = new StringReader(this.dataContent.ToString());
Another option would be to load the string into a MemoryStream
then use a StreamReader
to iterate over it. MemoryStream
definitely supports position resets on a memory stream.
String data = "Hello! My name it Inigo Montoya.";
using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(data)))
{
using (StreamReader reader = new StreamReader(stream))
{
// Do your parsing here using the standard StreamReader methods.
// They should be fairly comparable to StringReader.
// When all done, reset stream position to the beginning.
stream.Seek(0, SeekOrigin.Begin);
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With