Monday, March 07, 2005
Using MemoryStream .NET
//writing to Memory stream
byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText);
MemoryStream memoryStream = new MemoryStream();
memoryStream.Write(plainTextBytes, 0, plainTextBytes.Length);
memoryStream.FlushFinalBlock();
//getting the bytes from memory stream and converting them to a string
byte[] memoryTextBytes = memoryStream.ToArray();
string originalText = Convert.ToBase64String(memoryTextBytes );
//reading from memoryStream
byte[] memoryTextBytes2 = new byte[memoryStream.Length]; memoryStream.Seek(0,SeekOrigin.Begin);
int readByteCount = memoryStream.Read(memoryTextBytes2 , 0, memoryTextBytes2 .Length);
memoryStream.Close();
string plainText = Encoding.UTF8.GetString(plainTextBytes, 0, readByteCount);
--------------------------------------------------------------------------------------
using MemoryStream to BinarySerialize into memory
--------------------------------------------------------------------------------------
MemoryStream t = new MemoryStream();
BinaryFormatter myFormatter = new BinaryFormatter();
myFormatter.Serialize(t, someObject); //serialize some object
byte[] plainTextBytes = new byte[t.Length];
t.Seek(0,SeekOrigin.Begin);
int readByteCount = t.Read(plainTextBytes, 0, plainTextBytes.Length);
t.Close();
//plainText contains the serialized string
string plainText = Encoding.UTF8.GetString(plainTextBytes, 0, readByteCount);
///deserialization
byte[] stringAsBytes = Encoding.UTF8.GetBytes(plainText);
t = new MemoryStream(stringAsBytes);
object newO = myFormatter.Deserialize(t) ;
No comments:
Post a Comment
Remember, if you want me to respond to your comment, then you need to use a Google/OpenID account to leave the comment.