"> مقاله ی آموزش خواندن فایل دودویی در سی شارپ

آموزش خواندن فایل دودویی در سی شارپ

خواندن فایل دودویی

کلاس System.IO.BinaryReader برای خواندن انواع داده ای .NET بدوی مانند دودویی در یک encoding خاص شامل ASCII ، Unicode ، UTF32 ، UTF7 و UTF8. در این مقاله با هم به سراغ خواندن فایل دودویی در سی شارپ و .NET خواهیم رفت.

ایجاد یک BinaryReader

سازنده ی BinaryWriter فرم ها را برای پشتیبانی یک Stream و encoding ، Overload میکند. قطعه کد کوچک زیر شئ BinaryWriter را با یک Stream و فرمت کاراکتر encoding ایجاد میکند.

BinaryReader binReader = new BinaryReader(File.Open(fileName, FileMode.Open)

Encoding ascii = Encoding.ASCII;
BinaryWriter bwEncoder = new BinaryWriter(new FileStream(fileName, FileMode.Create), ascii);

خواندن فایل دودویی

خواندن متد Overload شده نیز برای نوشتن نوع داده ی بدوی در یک Stream به کار میرود. متد Write میتواند یکی از انواع Boolean ، Byte ، Char ، Decimal ، Double و Integer را بنویسد. BinaryReader نیز همچنین متد هایی با نوع داده ای به خصوصی مانند ReadString ، ReadInt32 و از این قبیل ارائه میدهد. قطعه کد زیر انواع مختلفی از داده های مختلف را با استفاده از متد های مربوطه میخواند.

string authorName = binReader.ReadString();
int age = binReader.ReadInt32();
string bookTitle = binReader.ReadString();
bool mvp = binReader.ReadBoolean();
double price = binReader.ReadDouble();

مثال

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

public class BinaryReadWriteClass
{
    public void WriteBinary()
    {
        try
        {
            Console.WriteLine("Binary Writer");
            string authorName = "Mahesh Chand";
            int age = 30;
            string bookTitle = "ADO.NET Programming using C#";
            bool mvp = true;
            double price = 54.99;

            string fileName = @"C:\temp\MC.bin";                
            BinaryWriter bwStream = new BinaryWriter(new FileStream(fileName,FileMode.Create));

            Encoding ascii = Encoding.ASCII;
            BinaryWriter bwEncoder = new BinaryWriter(new FileStream(fileName, FileMode.Create), ascii);

            using (BinaryWriter binWriter =
                new BinaryWriter(File.Open(fileName, FileMode.Create)))
            {
                // Write string 
                binWriter.Write(authorName);
                // Write string 
                // Write integer
                binWriter.Write(age);
                binWriter.Write(bookTitle);
                // Write boolean
                binWriter.Write(mvp);
                // Write double 
                binWriter.Write(price);
            }              
            Console.WriteLine("Data Written!");
            Console.WriteLine();
        }
        catch (IOException ioexp)
        {
            Console.WriteLine("Error: {0}", ioexp.Message);
        }
    }
}

امیدوارم برایتان مفید بوده باشد !
نظرات و پیشنهاداتتان را با من در میان بگذارید!
موفق باشید !

داریوش فرخی

داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.