/* * C# Program to Illustrate Memory Stream Class */ using System; using System.IO; using System.Text; class MemStream { static void Main() { int count; byte[] byteArray; char[] charArray; UnicodeEncoding uniEncoding = new UnicodeEncoding(); byte[] firstString = uniEncoding.GetBytes("Invalid file path characters are: "); byte[] secondString = uniEncoding.GetBytes(Path.GetInvalidPathChars()); using(MemoryStream memStream = new MemoryStream(100)) { memStream.Write(firstString, 0, firstString.Length); count = 0; while(count < secondString.Length) { memStream.WriteByte(secondString[count++]); } Console.WriteLine("Capacity = {0}, Length = {1}, Position = {2}\n", memStream.Capacity.ToString(), memStream.Length.ToString(), memStream.Position.ToString()); memStream.Seek(0, SeekOrigin.Begin); byteArray = new byte[memStream.Length]; count = memStream.Read(byteArray, 0, 20); while (count < memStream.Length) { byteArray[count++] = Convert.ToByte(memStream.ReadByte()); } charArray = new char[uniEncoding.GetCharCount(byteArray, 0, count)]; uniEncoding.GetDecoder().GetChars(byteArray, 0, count, charArray, 0); Console.WriteLine(charArray); Console.Read(); } } } /* Capacity = 256 Length = 140 Position =140 Invalid File Path Characters are : "<>|