string[] header = new string[4];
startByte = 0;
length = 4;
using (FileStream stream = File.OpenRead(path))
{
try
{
for (int i = startByte; i < length + startByte; i++)
{
header[i] = (stream.ReadByte().ToString("X2"));
}
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
/// <summary>
/// Get bytes from file
/// </summary>
/// <param name="path">path to file</param>
/// <param name="startByte">0 based position</param>
/// <param name="bytesToRead">Count of bytes to read</param>
/// <returns></returns>
public static string[] GetXData(string path, int startByte, int bytesToRead)
{
try
{
var header = new string[bytesToRead];
using var stream = File.OpenRead(path);
stream.Seek(startByte, SeekOrigin.Begin); // перемещаем указатель в позицию
// увеличиваем от 0 до длины буфера!!!
for (var i = 0; i < header.Length ; i++)
{
// когда читаем по байту сдвиг указателя происходит автоматически
header[i] = (stream.ReadByte().ToString("X2"));
}
return header;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
return new string[0];
}
}