如何从C#中的.dat文件读取前512字节的数据

本文关键字:字节 数据 读取 文件 中的 dat | 更新日期: 2023-09-27 18:20:52

H,

如何在C#中从.dat文件读取前512字节的数据?我的dat文件包含二进制数据。我目前正在使用File.ReadAllBytes从dat文件中读取数据。但它读取所有数据,我只想读取前512个字节,然后中断。我需要使用for循环来实现这个或任何其他方法。感谢您的帮助。

如何从C#中的.dat文件读取前512字节的数据

你可以试试这个:

byte[] buffer = new byte[512];
try
{
     using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
     {
          var bytes_read = fs.Read(buffer, 0, buffer.Length);
          fs.Close();
          if (bytes_read != buffer.Length)
          {
              // Couldn't read 512 bytes
          }
     }
}
catch (System.UnauthorizedAccessException ex)
{
     Debug.Print(ex.Message);
}

您可以使用byte[]变量和FileStream。为此,请阅读。

一种简单但有效的方法:

var result = ""; //Define a string variable. This doesn't have to be a string, this is just an example.
using (BinaryReader br = new BinaryReader(File.OpenRead(openFileDailog1.FileName))) //Begin reading the file with the BinaryReader class.
{
    br.BaseStream.Seek(0x4D, SeekOrigin.Begin); //Put the beginning of a .dat file here. I put 0x4D, because it's the generic start of a file.
    result = Encoding.UTF8.GetString(br.ReadBytes(512)); //You don't have to return it as a string, this is just an example.
}
br.Close(); //Close the BinaryReader.

using System.IO;允许访问BinaryReader类。

希望这能有所帮助!