.net 如何读取文件的各个字节
我正在尝试确定是否使用GZip协议压缩了文件 共识似乎是我需要读取文件的前两个字节,并检查它们是否等于.net 如何读取文件的各个字节,.net,compression,bytearray,.net,Compression,Bytearray,我正在尝试确定是否使用GZip协议压缩了文件 共识似乎是我需要读取文件的前两个字节,并检查它们是否等于0x1f8b。我刚刚知道这是一个神奇的数字 我如何读取文件的各个字节,最好是使用.Net/C,因为我已经习惯了这样做 谢谢通常在普通x86中,char是一个字节长的数据类型,所以读取文件的前两个字符就可以了。通常在普通x86中,char是一个字节长的数据类型,所以读取文件的前两个字符就可以了。读取这两个字符的最简单方法(第一个)文件字节是指打开文件流,然后只读取两个字节: FileStream
0x1f8b
。我刚刚知道这是一个神奇的数字
我如何读取文件的各个字节,最好是使用.Net/C,因为我已经习惯了这样做
谢谢通常在普通x86中,char是一个字节长的数据类型,所以读取文件的前两个字符就可以了。通常在普通x86中,char是一个字节长的数据类型,所以读取文件的前两个字符就可以了。读取这两个字符的最简单方法(第一个)文件字节是指打开文件流,然后只读取两个字节:
FileStream fs = new FileStream( "D:\\path_to_file\file.ext", FileMode.Open);
int value = fs.ReadByte();
...
当然,您应该检查文件是否存在,如果应用程序运行时没有足够的权限读取文件,则捕获异常,处理完文件后关闭流(访问文件)
使用FileStream的
Read
方法(允许您一次读取多个字节)可能更方便。请注意,此方法还有异步等效方法。读取文件的两个(前)字节的最简单方法是打开文件流,然后仅读取两个字节:
FileStream fs = new FileStream( "D:\\path_to_file\file.ext", FileMode.Open);
int value = fs.ReadByte();
...
当然,您应该检查文件是否存在,如果应用程序运行时没有足够的权限读取文件,则捕获异常,处理完文件后关闭流(访问文件)
使用FileStream的Read
方法(允许您一次读取多个字节)可能更方便。请注意,此方法还有异步等效方法可用。您可以尝试此方法
您可能需要为v使用不同的变量类型,或者您可以将int
using (BinaryReader b = new BinaryReader(File.Open("file.bin", FileMode.Open)))
{
int v = b.ReadByte();
Console.WriteLine(v);
}
你可以试试这个
您可能需要为v使用不同的变量类型,或者您可以将int
using (BinaryReader b = new BinaryReader(File.Open("file.bin", FileMode.Open)))
{
int v = b.ReadByte();
Console.WriteLine(v);
}