Как загрузить строку в FileStream, не переходя на диск? - PullRequest
18 голосов
/ 17 января 2012
string abc = "This is a string";

Как загрузить abc в FileStream?

FileStream input = new FileStream(.....);

1 Ответ

21 голосов
/ 17 января 2012

Используйте MemoryStream вместо ...

MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(abc));

Помните, что MemoryStream (так же, как FileStream) должен быть закрыт, когда вы закончите с ним.Вы всегда можете поместить свой код в блок using, чтобы упростить это ...

using(MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(abc)))
{
   //use the stream here and don't worry about needing to close it
}

ПРИМЕЧАНИЕ. Если ваша строка - Unicode, а не ASCII, вы можете указать это при преобразовании в байтовый массив.По сути, символ Unicode занимает 2 байта вместо 1. Заполнение будет добавлено при необходимости (например, 0x00 0x61 = "a" в Unicode, где, как в ASCII 0x61 = "a")

...