1011 Stimmen

Wie erzeuge ich einen Stream aus einer Zeichenkette?

Ich muss einen Unit-Test für eine Methode schreiben, die einen Stream nimmt, der aus einer Textdatei stammt. Ich möchte so etwas wie dies zu tun:

Stream s = GenerateStreamFromString("a,b \n c,d");

9voto

cjk Punkte 44394

Hier ist es:

private Stream GenerateStreamFromString(String p)
{
    Byte[] bytes = UTF8Encoding.GetBytes(p);
    MemoryStream strm = new MemoryStream();
    strm.Write(bytes, 0, bytes.Length);
    return strm;
}

-2voto

MarkWalls Punkte 889

Eine gute Kombination von String-Erweiterungen:

public static byte[] GetBytes(this string str)
{
    byte[] bytes = new byte[str.Length * sizeof(char)];
    System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
    return bytes;
}

public static Stream ToStream(this string str)
{
    Stream StringStream = new MemoryStream();
    StringStream.Read(str.GetBytes(), 0, str.Length);
    return StringStream;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X