2012-01-17 15 views
14
string abc = "This is a string"; 

FileStreamにabcをロードするにはどうすればよいですか?ディスクに移動せずに文字列をFileStreamにロードするにはどうすればよいですか?

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

' MemoryStream'それから? – Yuck

+1

なぜあなたはしたいですか?なぜMemoryStreamのようなものはありませんか? –

+1

ファイルストリームでなければならないのですか? –

答えて

17

(ただのFileStreamなど)のMemoryStreamを思い出すMemoryStream代わりに...

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

を使用して、あなたがそれで終わったらクローズする必要があります。あなたは、常にこれを簡単... ​​

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

NOTEを作るために使用してブロック内のコードを配置することができます:あなたの文字列がUnicodeではなくASCIIである場合には、バイト配列に変換する際にこれを指定することもできます。基本的に、Unicode文字は1ではなく2バイトを占めます。必要に応じてパディングが追加されます(例えば、0x00 0x61 =ユニコードの "a"、0x61 = "a"のように)

関連する問題