PDA

View Full Version : خواندن اطلاعات ذخیره شده روی هارد به صورت بایت به بایت



مهدی رحیم زاده
جمعه 19 بهمن 1386, 07:46 صبح
سلام
می خوام که اطلاعات ذخیره شده مربوط به یک فایل مشخص رو از آدرس شروع اون تا آخر از روی هارد به صورت ( بایت به بایت ) باینری بخونم . میشه بگید که برای این کار باید چکار کنم .

Masoud_TB
جمعه 19 بهمن 1386, 13:21 عصر
اینم یک مثال کامل از خواندن و نوشتن فایل های باینری (منبع MSDN):


using System;
using System.IO;
class MyStream
{
private const string FILE_NAME = "Test.data";
public static void Main(String[] args)
{
// Create the new, empty data file.
if (File.Exists(FILE_NAME))
{
Console.WriteLine("{0} already exists!", FILE_NAME);
return;
}
FileStream fs = new FileStream(FILE_NAME, FileMode.CreateNew);
// Create the writer for data.
BinaryWriter w = new BinaryWriter(fs);
// Write data to Test.data.
for (int i = 0; i < 11; i++)
{
w.Write( (int) i);
}
w.Close();
fs.Close();
// Create the reader for data.
fs = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
// Read data from Test.data.
for (int i = 0; i < 11; i++)
{
Console.WriteLine(r.ReadInt32());
}
r.Close();
fs.Close();
}

}

مهدی رحیم زاده
جمعه 19 بهمن 1386, 15:12 عصر
سلام دوست عزیزم
من نتونستم زیاد از این کد استفاده کنم . ببینید من می خوام که دقیقا اون مقادیر باینری که برای ذخیره یک فایل روی هارد قرار میگیره رو بتونم بخونم . یعنی همون چیزی که الان به عنوان مثال برای ذخیره فایل

c:\resa.dat
روی هارد ذخیره میشه .
ممنون میشم کمکم کنید .

Masoud_TB
جمعه 19 بهمن 1386, 16:00 عصر
شاید منظورت اینه که می خواهی به صورت Hex بخونیش؟؟؟ درسته؟

مهدی رحیم زاده
جمعه 19 بهمن 1386, 20:23 عصر
حالا هر جوری که هست ، فقط باید دقیقا همونی باشه که روی هارد ذخیره میشه !!!

Masoud_TB
شنبه 20 بهمن 1386, 09:18 صبح
اینم به صورت Hex:


byte[] allBytes = File.ReadAllBytes("C:\\Test.txt");
foreach (byte b in allBytes)
Console.Write("{0:X} ",b);