نمایش نتایج 1 تا 8 از 8

نام تاپیک: کار با فایلها در C#‎

  1. #1

    Question کار با فایلها در C#‎

    به نام خدا
    کسی در مورد کار با فایلها در C#‎اطلاعاتی ندارد؟
    نمی دانم چه طور یک فایل را به صورت باینری باز کنم و به هر کدام از بیتهاش دسترسی داشته باشم؟
    لطفاً هر کس می داند راهنمایی کند

  2. #2
    در همین سایت جستجو کنید :

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;

    namespace TestWriteF
    {
    class Program
    {
    static void Main(string[] args)
    {

    {
    FileStream fs = File.Create(Environment.CurrentDirectory + @"\settings.bin");
    BinaryWriter bw = new BinaryWriter(fs);
    long number = 100;
    byte[] bytes = new byte[] { 95, 96, 97 };
    string s = "test";

    bw.Write(number);
    bw.Write(bytes);
    bw.Write(s);

    bw.Close();
    fs.Close();
    }


    {
    FileStream fs = File.Open(Environment.CurrentDirectory + @"\settings.bin", FileMode.Open);
    BinaryReader reader = new BinaryReader(fs);

    long number = reader.ReadInt64();
    byte[] bytes = reader.ReadBytes(3);
    string s = reader.ReadString();

    reader.Close();
    fs.Close();

    Console.WriteLine(number);
    foreach (byte b in bytes)
    {
    Console.Write("[{0}]", b);
    }
    Console.WriteLine();
    Console.WriteLine(s);
    }


    }
    }
    }
    ...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست

  3. #3
    در MSDN یا همین سایت در مورد IO.FileStream جستجو کنید.

  4. #4
    لطف می کنید در مورد کدی که فرستادید توضیح بدهید.

  5. #5
    من هنوز جواب سؤالم را نگرفتم.
    در MSDN و همین سایت هم گشتم ولی چیزی نیست که می خواهم.
    خواهش می کنم راهنمایی بفرمایید.
    در مورد کد هم لطف کنید توضیح دهید و اگر می توانید در windows Application مثال بزنید به طوری که مثلاً وقتی روی دکمه open کلیک می کنم، فایلم به صورت باینری باز شود و به بیتهاش هم بتوانم دسترسی داشته باشم و اندازش هم برای مهم است. چون می خواهم کوچکتر ازیک فایل باینری دیگر باشد تا بتوانم نظیر به نظیر روی بیت هایشان عملیات انجام دهم.
    با تشکر

  6. #6
    من تازه کارم اگر کسی می تواند راهنمایی کند تا جوابم را بگیرم.
    با تشکر

  7. #7
    در کد زیر تک تک بایتهای برنامتون در یک آرایه از جنس بایت قرار می گیره (اسمش r هست)

    FileInfo fi=new FileInfo("c:\\a.txt");
    System.IO.FileStream fs = new System.IO.FileStream("c:\\a.txt",FileMode.Open);
    byte[] r=new byte[fi.Length];
    fs.Read(r,0,(int)fi.Length);
    fs.Close();

  8. #8
    کاربر تازه وارد آواتار amin joon
    تاریخ عضویت
    تیر 1383
    محل زندگی
    Shiraz-Iran
    پست
    93
    دوست عزیز چرا شما دنبال لقمه آماده میگردید.
    اگر نصف همین زمانی رو که منتظر جواب هستید یه جستجوی ساده روی سایت انجام میدادید ، زودتر به جواب میرسیدید.

    برای کار با حافظه یه کلاس پایه به نام Stream وجود داره . کلاسهای مختلفی از این کلاس ارث بری کردند مثل fileStream که اشاره به یک فایل میکنه و کلاسهای مختلفی هم برای کار روی یک Stream طراحی شدن مثل
    StreamReader، StreamWriter،
    BinaryReader و BinaryWriter .
    دو کلاس اول برای خواندن و نوشتن باینری از/در یک Stream و دو کلاس بعد هم برای خواندن و نوشتن به صورت متنی از/در یک Stream طراحی شدند.
    این کلاس ها یه سری متد دارن که برای یادگیریشون میتونی به msdn مراجعه کنی.
    توی کدی که دوست عزیزمون نوشتن ، ابتدا یک FileStream ایجاد شده که به یک فایل اشاره میکنه و بعد به کمک متد write یک مقدار از نوع int ، آرایه ای از نوع بایت و یک رشته داخل آن فایل نوشته شده و بعد به کمک متدهای کلاس BinaryReader این مقادیر مجددا از فایل خوانده شده.

    GoOd LuCk

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •