آموزش سی شارپ

مباحث پایه سی شارپ

مباحث پیشرفه سی شارپ

دستورات سی شارپ

خواندن و نوشتن فایل های باینری در زبان سی شارپ

csharp binary files 4574 تصویر

خواندن و نوشتن فایل های باینری در زبان سی شارپ

در زبان برنامه نویسی سی شارپ کلاس BinaryReader و BinaryWriter به منظور خواندن و نوشتن فایل های باینری در زبان سی شارپ استفاده می شوند.

کلاس BinaryReader

کلاس BinaryReader برای خواندن داده های باینری از یک فایل استفاده می شود. یک شیء BinaryReader با ارسال یک شیء از نوع کلاس FileStream به سازنده آن ایجاد می شود.

جدول زیر متدهای رایج مورد استفاده در کلاس BinaryReader را توصیف می کند.

ردیفتوضیحات
۱

public override void Close()

شیء جاری BinaryReader را می بندد.

۲

public virtual int Read()

کاراکتر ها را از جریان می خواند و موقعیت فعلی جریان را افزایش می دهد.

۳

public virtual bool ReadBoolean()

یک مقدار بولین را از جریان فعلی می خواند و موقعیت فعلی جریان را یک بایت افزایش می دهد.

۴

public virtual byte ReadByte()

بایت بعدی را از جریان فعلی می خواند و موقعیت فعلی جریان را یک بایت افزایش می دهد.

۵

public virtual byte[] ReadBytes(int count)

به تعداد مشخص شده بایت ها را از جریان می خواند و در یک آرایه قرار می دهد. سپس موقعیت فعلی جریان را به اندازه تعداد بایت های مشخص شده افزایش می دهد.

۶

public virtual char ReadChar()

کاراکتر بعدی را از جریان فعلی می خواند و موقعیت فعلی جریان را بر اساس Encoding آن کاراکتر افزایش می دهد.

۷

public virtual char[] ReadChars(int count)

به تعداد مشخص شده کاراکترها را از جریان می خواند و در یک آرایه قرار می دهد. سپس موقعیت فعلی جریان را بر اساس Encoding و به اندازه تعداد کاراکترهای مشخص شده افزایش می دهد.

۸

public virtual double ReadDouble()

یک مقدار اعشاری از جریان می خواند و موقعیت فعلی جریان را به اندازه ۸ بایت افزایش می دهد.

۹

public virtual int ReadInt32()

یک مقدار عدد صحیح از جریان می خواند و موقعیت فعلی جریان را به اندازه ۴ بایت افزایش می دهد.

۱۰

public virtual string ReadString()

یک رشته را از جریان فعلی می خواند.

کلاس BinaryWriter

کلاس BinaryWriter به منظور نوشتن داده های باینری در یک فایل استفاده می شود. یک شیء BinaryWriter با ارسال یک شیء از نوع کلاس FileStream به سازنده آن ایجاد می شود.

جدول زیر متد های رایج مورد استفاده در کلاس BinaryWriter را توصیف می کند.

ردیفتوضیحات
۱

public override void Close()

شیء جاری BinaryWriter را می بندد.

۲

public virtual void Flush()

تمام بافرها برای Writer فعلی پاک می کند و باعث می شود داده های بافر شده در جریان مشخص شده نوشته شوند.

۳

public virtual long Seek(int offset, SeekOrigin origin)

موقعیت را در جریان فعلی تنظیم می کند.

۴

public virtual void Write(bool value)

مقدار بولی یک بایت را به جریان فعلی می نویسد، ۰ نشانگر false و ۱ نشان دهنده true می باشد.

۵

public virtual void Write(byte value)

یک بایت بدون علامت را در جریان فعلی می نویسد و موقعیت فعلی جریان را یک بایت افزایش می دهد.

۶

public virtual void Write(byte[] buffer)

آرایه ای از بایت ها را در جریان فعلی می نویسد.

۷

public virtual void Write(char ch)

یک کاراکتر یونیکد را به جریان فعلی می نویسد و موقعیت فعلی جریان را مطابق با کدگذاری مورد استفاده و شخصیت های خاصی که به جریان نوشته می شود، پیشرفت می کند.

۸

public virtual void Write(char[] chars)

آرایه ای از کاراکترها را در جریان فعلی می نویسد. سپس موقعیت فعلی جریان را بر اساس Encoding استفاده شده افزایش می دهد.

۹

public virtual void Write(double value)

یک مقدار اعشاری در جریان می نویسد و موقعیت فعلی جریان را به اندازه ۸ بایت افزایش می دهد.

۱۰

public virtual void Write(int value)

یک مقدار عدد صحیح در جریان می نویسد و موقعیت فعلی جریان را به اندازه ۴ بایت افزایش می دهد.

۱۱

public virtual void Write(string value)

یک رشته را در جریان می نویسد.

برای مشاهده لیست کامل متدها، به مستندات سی شارپ مایکروسافت مراجعه کنید.

مثال

مثال زیر نحوه نوشتن و خواندن داده های باینری در یک فایل را نشان می دهد:

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است