46 lines
1.7 KiB
C#
46 lines
1.7 KiB
C#
|
/*
|
||
|
* 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 : "<>|
|