可以說,我想一個字符串"Hello World"
寫入到MemoryStream
,並且不使用輔助對象讀取此字符串MessageBox.Show()
如BinaryWriter
和BinaryReader
和StreamWriter
和StreamReader
等的讀寫流,而不輔助類中/字符串
你能告訴我如何用MemoryStream
流對象的低級函數來完成這個任務。 P:我都使用C#和VB.NET,所以請隨意使用它們中的任何一個。
謝謝。
可以說,我想一個字符串"Hello World"
寫入到MemoryStream
,並且不使用輔助對象讀取此字符串MessageBox.Show()
如BinaryWriter
和BinaryReader
和StreamWriter
和StreamReader
等的讀寫流,而不輔助類中/字符串
你能告訴我如何用MemoryStream
流對象的低級函數來完成這個任務。 P:我都使用C#和VB.NET,所以請隨意使用它們中的任何一個。
謝謝。
你必須選擇一個文本編碼,並用它來獲取數據:
var data = "hello, world";
// Encode the string (I've chosen UTF8 here)
var inputBuffer = Encoding.UTF8.GetBytes(data);
using (var ms = new MemoryStream())
{
ms.Write(inputBuffer, 0, inputBuffer.Length);
// Now decode it back
MessageBox.Show(Encoding.UTF8.GetString(ms.ToArray()));
}
只需使用System.Text.ASCIIEncoding.ASCII.GetBytes("your string)
並將生成的字節數組寫入流中。
然後,解碼字符串使用System.Text.ASCIIEncoding.ASCII.GetString(your byte array)
。
希望它有幫助。
檢查這一項:http://msdn.microsoft.com/en-us/library/system.io.memorystream.write.aspx
// Create the data to write to the stream.
byte[] firstString = uniEncoding.GetBytes("Hello World");
using(var memStream = new MemoryStream(100))
{
memStream.Write(firstString, 0 , firstString.Length);
}