如何获取内存字符串流?

时间:2013-09-04 12:14:25

标签: c# windows-phone-7 windows-phone onedrive

我有一个string数据,我希望它有一个stream而不将其作为文件保存到存储中,然后获取它的流。然后我将这个流发送到SkyDrive。反正。

await client.UploadAsync(folderId, filename, stream, OverwriteOption.Overwrite);

有没有获得stream内存中的字符串值,而不先将其保存到存储中?

2 个答案:

答案 0 :(得分:6)

您可以将其写入MemoryStream

using(var stream = new MemoryStream())
{
    var writer = new StreamWriter(stream);
    writer.Write(yourString);
    writer.Flush();
    stream.Position = 0;

    await client.UploadAsync(folderId, filename, stream, OverwriteOption.Overwrite);
}

答案 1 :(得分:2)

当然,请使用MemoryStream课程。您可以像这样加载它,例如:

var stream = new MemoryStream(Encoding.ASCII.GetBytes("Here is my string."));

或者,你可以像这样Write新数据:

var myString = "Hello, World!";
stream.Write(Encoding.ASCII.GetBytes(myString), 0, myString.Length);

如果需要,您当然可以使用不同的编码,例如UTF8