چگونه محتویات یک فایل را به خوانیم ؟ (برنامه نویسی سی شارپ)
باز کردن فایل یکی از متداول ترین کارها در برنامه نویسی است. در ساده ترین حالت باز کردن یک فایل بصورت زیر است : با تعیین مسیر یک فایل، از کلاس فایل بخواهید تا یک stream را باز کند. زمانی که می خواهید یک فایل را بخوانید ، از تنظیمات FileMode.Open برای باز کردن فایل و FileAccess.Read برای خواندن فایل استفاده کنید. کد زیر چنین کاری را انجام می دهد :
System.IO.FileStream theFile =
System.IO.File.Open( @"D:\book.txt" , System.IO.FileMode.Open , System.IO.FileAccess.Read );
برای ساده تر شدن خوتندن فایل ها ، سیستم I/O از کلاسهای StreamReader و StreamWriter پشتیبانی می کند تا عمل خواندن و نوشتن ساده تر انجام شود. برای خواندن فایلها ، شما می توانید به سادگی یک شی StreamReader جدید را ایجاد کنید که یک FileStream را درون خود جای دهید ، کد زیر روش کار را نشان می دهد :
System.IO.StreamReader reader = new System.IO.StreamReader( theFile );
Console.WriteLine( reader.ReadToEnd( ) );
reader.Close( );
theFile.Close( );
فرض کنید که می خواهید یک رشته ی معین را درون یک فایل مورد جستجو قرار دهید . برای نمونه در کد زیر ، داده ها سطر به سطر خواهید خواند تا اینکه رشته مورد نظر را پیدا کنید و اگر آن را پیدا کردید نیاز به خواندن ادامه فایل ندارید :
System.IO.StreamReader reader = System.IO.File.OpenText( @"book.txt" );
// Search through the stream until we the end
while ( !reader.EndOfStream )
{
string line = reader.ReadLine( );
if ( line.Contains( "book" ) )
{
// if we find the word book, we notify
// the user and stop reading the file.
Console.WriteLine( "Find book : " );
Console.WriteLine( line );
break;
}
}
// Clean Up
reader.Close( );
توجه کنید که کد بالا خطی که رشته مورد جستجو در آن موجود باشد را بر می گرداند.