کلاس StreamWriter در سی شارپ کاراکترها را در یک جریان در یک رمزگذاری مشخص مینویسد. متد StreamWriter.Write () مسئول نوشتن متن در یک جریان است. کلاس StreamWriter از کلاس TextWriter به ارث برده می شود که روش هایی را برای نوشتن یک شی در یک رشته، نوشتن رشته ها در یک فایل یا سریال سازی XML ارائه می دهد.
StreamWriter در فضای نام System.IO تعریف شده است. StreamWriter متدهای Write زیر را ارائه می دهد:
- Write - داده ها را در جریان می نویسد.
- WriteAsync - داده ها را به صورت ناهمزمان در جریان می نویسد.
- WriteLine – پایان دهنده خط را به رشته متن یا جریان می نویسد.
- WriteLineAsync - پایان دهنده خط را به رشته متن یا جریان به صورت ناهمزمان می نویسد.
- ایجاد StreamWriter با استفاده از نام فایل
سازنده StreamWriter یک نام فایل یا یک شی FileStream را با رمزگذاری و اندازه بافر به عنوان پارامترهای اختیاری می گیرد.
قطعه کد زیر یک StreamWriter از نام فایل با کدگذاری پیشفرض و اندازه بافر ایجاد میکند.
- // File name
- string fileName = @"C:\Temp\Mahesh.txt";
- StreamWriter writer = new StreamWriter(fileName);
قطعه کد زیر یک StreamWriter ایجاد می کند و با استفاده از روش StreamWriter.Write مقداری متن به نویسنده اضافه می کند. اگر فایل وجود نداشته باشد، نویسنده یک فایل جدید ایجاد می کند. اگر فایل از قبل وجود داشته باشد، نویسنده محتوای آن را لغو می کند.
- string fileName = @"C:\Temp\CSharpAuthors.txt";
- try
- {
- using (StreamWriter writer = new StreamWriter(fileName))
- {
- writer.Write("This file contains C# Corner Authors.");
- }
- }
- catch(Exception exp)
- {
- Console.Write(exp.Message);
- }
ایجاد StreamWriter با استفاده از FileStream
سازنده StreamWriter یک شی FileStream را با رمزگذاری و اندازه بافر به عنوان پارامترهای اختیاری می گیرد. قطعه کد زیر یک StreamWriter از FileStream با رمزگذاری پیشفرض و اندازه بافر ایجاد میکند.
- // Create a FileStream with mode CreateNew
- FileStream stream = new FileStream(fileName, FileMode.CreateNew);
- // Create a StreamWriter from FileStream
- using (StreamWriter writer = new StreamWriter(stream))
- {
- writer.Write("Hello StreamWriter");
- }
قطعه کد زیر یک StreamWriter از FileStream با رمزگذاری ایجاد می کند. کدهای پشتیبانی شده ASCII، Unicode، UTF32، UTF7 و UTF8 هستند. رمزگذاری در فضای نام System.Text تعریف شده است.