به نام خدا
کسی در مورد کار با فایلها در C#اطلاعاتی ندارد؟
نمی دانم چه طور یک فایل را به صورت باینری باز کنم و به هر کدام از بیتهاش دسترسی داشته باشم؟
لطفاً هر کس می داند راهنمایی کند
به نام خدا
کسی در مورد کار با فایلها در C#اطلاعاتی ندارد؟
نمی دانم چه طور یک فایل را به صورت باینری باز کنم و به هر کدام از بیتهاش دسترسی داشته باشم؟
لطفاً هر کس می داند راهنمایی کند
در همین سایت جستجو کنید :
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);
}
}
}
}
...مرا به خانه ام ببر، اگرچه خانه؛ خانه نیست
در MSDN یا همین سایت در مورد IO.FileStream جستجو کنید.
لطف می کنید در مورد کدی که فرستادید توضیح بدهید.
من هنوز جواب سؤالم را نگرفتم.
در MSDN و همین سایت هم گشتم ولی چیزی نیست که می خواهم.
خواهش می کنم راهنمایی بفرمایید.
در مورد کد هم لطف کنید توضیح دهید و اگر می توانید در windows Application مثال بزنید به طوری که مثلاً وقتی روی دکمه open کلیک می کنم، فایلم به صورت باینری باز شود و به بیتهاش هم بتوانم دسترسی داشته باشم و اندازش هم برای مهم است. چون می خواهم کوچکتر ازیک فایل باینری دیگر باشد تا بتوانم نظیر به نظیر روی بیت هایشان عملیات انجام دهم.
با تشکر
من تازه کارم اگر کسی می تواند راهنمایی کند تا جوابم را بگیرم.
با تشکر
در کد زیر تک تک بایتهای برنامتون در یک آرایه از جنس بایت قرار می گیره (اسمش 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();
دوست عزیز چرا شما دنبال لقمه آماده میگردید.
اگر نصف همین زمانی رو که منتظر جواب هستید یه جستجوی ساده روی سایت انجام میدادید ، زودتر به جواب میرسیدید.
برای کار با حافظه یه کلاس پایه به نام Stream وجود داره . کلاسهای مختلفی از این کلاس ارث بری کردند مثل fileStream که اشاره به یک فایل میکنه و کلاسهای مختلفی هم برای کار روی یک Stream طراحی شدن مثل
StreamReader، StreamWriter،
BinaryReader و BinaryWriter .
دو کلاس اول برای خواندن و نوشتن باینری از/در یک Stream و دو کلاس بعد هم برای خواندن و نوشتن به صورت متنی از/در یک Stream طراحی شدند.
این کلاس ها یه سری متد دارن که برای یادگیریشون میتونی به msdn مراجعه کنی.
توی کدی که دوست عزیزمون نوشتن ، ابتدا یک FileStream ایجاد شده که به یک فایل اشاره میکنه و بعد به کمک متد write یک مقدار از نوع int ، آرایه ای از نوع بایت و یک رشته داخل آن فایل نوشته شده و بعد به کمک متدهای کلاس BinaryReader این مقادیر مجددا از فایل خوانده شده.
GoOd LuCk