143 votes

Convertir une chaîne en System.IO.Stream

Je dois convertir un String en type System.IO.Stream pour le passer à une autre méthode.

J'ai essayé sans succès.

Stream stream = new StringReader(contents);

308voto

Marco Points 29879

Essayez ça :

// convert string to stream
byte[] byteArray = Encoding.UTF8.GetBytes(contents);
//byte[] byteArray = Encoding.ASCII.GetBytes(contents);
MemoryStream stream = new MemoryStream(byteArray);

et

// convert stream to string
StreamReader reader = new StreamReader(stream);
string text = reader.ReadToEnd();

26voto

Yahia Points 49011

Pour convertir une chaîne en un flux, vous devez décider de l'encodage que les octets du flux doivent avoir pour représenter cette chaîne - par exemple vous pouvez :

MemoryStream mStrm= new MemoryStream( Encoding.UTF8.GetBytes( contents ) );

Références MSDN :

6voto

Muse Points 4558
System.IO.MemoryStream mStream = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes( contents));

-2voto

kprobst Points 8360
string str = "asasdkopaksdpoadks";
byte[] data = Encoding.ASCII.GetBytes(str);
MemoryStream stm = new MemoryStream(data, 0, data.Length);

-6voto

zetoff Points 95

C'est vieux mais pour de l'aide :

vous pouvez également utiliser le flux stringReader

string str = "asasdkopaksdpoadks";
StringReader TheStream = new StringReader( str );

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X