By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,682 Members | 1,401 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,682 IT Pros & Developers. It's quick & easy.

String to Stream

P: n/a
I'm looking for a way to convert String to Stream. I don't want to have to
write the string out to a file to get the stream. Does anyone know how?

TIA
Nov 20 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
Hayato,
You cannot convert the String to a Stream per se.

However! You can use the StringReader & StringWriter to read from & write to
a String. If your IO routines expect TextReader & TextWriter you can then
use Strings & Streams interchangeable. As TextReader is the base class for
both StreamReader & StringReader. Same with TextWriter and StreamWriter &
StringWriter.

With the aid of the System.Text.Encoding class you could convert the String
into an Array of Bytes, which you can pass to the constructor of
MemoryStream.

Of course you are free to inherit from Stream to create a StringStream
class.

The StringReader & StringWriter is my first choice, then I use the others as
appropriate.

Hope this helps
Jay

"Hayato Iriumi" <hi*****@hotmail.com> wrote in message
news:ef*************@tk2msftngp13.phx.gbl...
I'm looking for a way to convert String to Stream. I don't want to have to
write the string out to a file to get the stream. Does anyone know how?

TIA

Nov 20 '05 #2

P: n/a
Konichiwa Hayato,

Have you seen the MemoryStream? It works with byte arrays so you will need
to convert your string - which you can do with an Encoding.

[Untested]
Dim aBytes (Encoding.XXX.GetMaxByteCount) As Byte _
= Encoding.XXX.GetBytes (sString)
Dim strmMem As New MemoryStream (aBytes)

Where XXX is Unicode, or Ascii or whatever your string is.

If I may ask, what do you want to do with this Streamed string?

Regards,
Fergus.

Nov 20 '05 #3

P: n/a
Thank you very much! Memory stream works.

"Jay B. Harlow [MVP - Outlook]" <Ja********@email.msn.com> wrote in message
news:#J**************@TK2MSFTNGP09.phx.gbl...
Hayato,
You cannot convert the String to a Stream per se.

However! You can use the StringReader & StringWriter to read from & write to a String. If your IO routines expect TextReader & TextWriter you can then
use Strings & Streams interchangeable. As TextReader is the base class for
both StreamReader & StringReader. Same with TextWriter and StreamWriter &
StringWriter.

With the aid of the System.Text.Encoding class you could convert the String into an Array of Bytes, which you can pass to the constructor of
MemoryStream.

Of course you are free to inherit from Stream to create a StringStream
class.

The StringReader & StringWriter is my first choice, then I use the others as appropriate.

Hope this helps
Jay

"Hayato Iriumi" <hi*****@hotmail.com> wrote in message
news:ef*************@tk2msftngp13.phx.gbl...
I'm looking for a way to convert String to Stream. I don't want to have to write the string out to a file to get the stream. Does anyone know how?

TIA


Nov 20 '05 #4

P: n/a
Konnichiwa to you too. ;)

I have a Windows Service that listens a certain port. When ASP .NET
application sends a message to the Windows Service, it starts to do batch
processing... Well, the reason I wanted to use MemoryStream was that I
wanted to encrypt the message and then send the message out to Windows
Service. I've been trying to do this, but I guess I took a wrong route... My
plan was...

(1) Encrypt the string and keep the encrypted string in memory.
(2) Create byte array out of the encrypted string.
(3) Write it into NetworkStream
(4) Listener receives it as byte array
(5) Construct encrypted string
(6) Decrypt it.

I haven't successfully been able to do this... Any suggestion?

"Fergus Cooney" <fi******@tesco.net> wrote in message
news:#X**************@tk2msftngp13.phx.gbl...
Konichiwa Hayato,

Have you seen the MemoryStream? It works with byte arrays so you will need to convert your string - which you can do with an Encoding.

[Untested]
Dim aBytes (Encoding.XXX.GetMaxByteCount) As Byte _
= Encoding.XXX.GetBytes (sString)
Dim strmMem As New MemoryStream (aBytes)

Where XXX is Unicode, or Ascii or whatever your string is.

If I may ask, what do you want to do with this Streamed string?

Regards,
Fergus.

Nov 20 '05 #5

P: n/a
* "Hayato Iriumi" <hi*****@hotmail.com> scripsit:
I'm looking for a way to convert String to Stream. I don't want to have to
write the string out to a file to get the stream. Does anyone know how?


Have a look at the 'System.IO.MemoryStream' class. You can write the
string using a 'StreamWriter'.

--
Herfried K. Wagner
MVP VB Classic, VB.NET
<http://www.mvps.org/dotnet>
Nov 20 '05 #6

P: n/a
Hi Hayato,

It sounds like a reasonable plan. What's not working in it?

Regards,
Fergus
Nov 20 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.