فناوری های پیشرفته Advanced Technolog |
|||
شنبه 13 خرداد 1391برچسب:, :: 11:46 :: نويسنده : فناوری پیشرفته
ادامه مطلب: : : : . . . . . از آنجا كه stream قرار است با تمامي دستگاههاي فيزيكي ارتباط برقرار كند، تمامي عمليات در سطوح پايين خود با byteها سر و كار دارد، اما يك مشكل وجود دارد. همان طور كه ميدانيد نوع داده byte در #C برابر ۸ بيت است و يك كاراكتر برابر ۱۶بيت (به دليل پشتيباني از Unicode)، اگر دادهها به صورت ASCII كد باشد مشكلي نيست؛ اما در سيستم Unicode مشكل به وجود ميآيد. براي حل اين اشكال كلاسهايي براي تبديل دادههاي متني به ارائهاي از byteها و همين طور برعكس طراحي شده است كه به شما كمك ميكند براحتي عمليات ورودي و خروجي را انجام دهيد. برخي جرياندادههايي در #C از پيش تعريف شده است كه براي دسترسي به آنها بايد از فضاي نام System در برنامه خود استفاده كنيد. در زير آنها را به صورت فهرستوار بيان ميكنيم:
Console.Out: به استاندارد خارجي در #C متصل است و زماني مقدار ميگيرد كه متد Console.WriteLine يا
Console.In: به استاندارد ورودي در #C متصل است و زماني مقدار ميگيرد كه متد Console.Read يا Console.ReadLine فراخواني شود.
Console.Error: يك ارجاع به جرياندادهاي خطاها متصل است. تمامي اين جريان دادهها كه در بالا توضيح داده شد با توجه به دستگاههاي ورودي و خروجي شما متفاوت است و مطابق با آن، دستگاه عمل ميكند.
بررسي كلاسهاي اصلي جريان دادهاي در net. تمامي اين كلاسها در فضاي نام System.IO موجود است. اين فضاي نام شامل Stream بوده كه يك كلاس پايه براي تمامي كلاسهايي است كه با جريان دادهها كار ميكند. برخي الگوها و ويژگيهاي اصلي اين كلاس را بررسي ميكنيم. الگوها Close: يك جريان دادهاي را ميبندد، به اين معني كه انتقال اطلاعات از طريق آن جريان داده ديگر امكانپذير نيست. Flush: ReadByte: (Read (byte[] buf, int offset, int numbyte: (Write (byte b: (Write (byte[] buf, int offset, int numBytes: (long Seek (long offset, SeekOrigin origin: هميشه براي كار با يك جريان داده به يك نقطه آغاز نياز داريد. اگر بعد از چند بار از يك جريان داده اطلاعات بخوانيد يا روي آن بنويسيد، موقعيت مكاني روي آن جريان داده تغيير ميكند، اما بعضي وقتها نياز است كه خود شما به صورت دستي اين موقعيت مكاني را تغيير دهيد. در اين حالت با استفاده از متد Seek ميتوانيد روي يك جريان داده حركت كنيد. متغيرهاي ورودي اين متد مانند Read است، فقط به جاي اين كه آن بلاك داده را بخوانند، آن را روي جريان دادهاي مينويسد. يك بايت داده را در يك جريان دادهاي مينويسد. يك عدد صحيح برميگرداند كه مشخص ميكند ميتواند از آن منبع جريان داده بخواند يا خير. اگر به انتهاي فايل يا به انتهاي يك جريان داده رسيده باشد، عدد ۱ـ را بر ميگرداند در غير اين صورت تعداد Byteهايي را كه خوانده برميگرداند. محتويات يك شيء جريان داده را روي دستگاه فيزيكي مرتبط با آن مينويسد.ويژگيهاي كلاس Stream CanRead: مشخص ميكند كه از يك جريان داده ميتوان اطلاعاتي را دريافت كرد يا خير. CanWrite: CanSeek: Length: Position: تمامي ويژگيهايي كه در بالا ذكر شد فقط به صورت خواندني است؛ يعني شما نميتوانيد به آنها مقدار بدهيد. وقتي يك شيء از Stream ايجاد كرديد اين ويژگيها مقدار ميگيرند. اميربهاءالدين سبط الشيخ موقعيت مكاني يك جريان داده را مشخص ميكند اندازه يك جريان داده را مشخص ميكند مشخص ميكند كه ميتوان موقعيت مكاني روي يك جريان داده را تغيير داد يا خير. مشخص ميكند كه ميتوان روي يك جريان داده اطلاعاتي را نوشت يا خير.منبع: کلیک جام جم نظرات شما عزیزان:
موضوعات آخرین مطالب پیوندهای روزانه پيوندها تبادل لینک هوشمند نويسندگان |
|||
|