如果在另一个帖子中回答了这个问题,我深表歉意,但我似乎无法弄清楚。我想做的是获取通过FolderBrowserDialog选择的目录路径。然后,我选择的文件夹将被处理,然后显示所选文件夹中的所有文件以及子目录中的文件。完成的所有操作...我要做的是将所选文件夹中的文件拿来与文件的十六进制进行比较,以仅显示PDF或JPG之类的文件。我看到一些事情说我需要转换为二进制文件,我相信我已经完成了。然后将该二进制文件转换为十六进制。因此,我需要弄清楚如何获取二进制文件并将其从所选的目录路径转换为十六进制。这是我所拥有的代码示例
//在此处插入用于处理找到的文件的逻辑。
public static void ProcessFile(string path)
{
byte[] fileBytes = File.ReadAllBytes(path);
StringBuilder sb = new StringBuilder();
foreach (byte b in fileBytes)
{
sb.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
}
Console.WriteLine("Test {0}",sb);
Console.ReadLine();
}
就像我说的那样,我相信我有将代码转换为正确的二进制代码的功能,它只是将整个目录路径转换为二进制文件,我希望将其仅作为文件而不是整个路径。我似乎找不到如何成功将二进制转换为十六进制的方法,以便排除PDF和JPG以外的文件。抱歉,这么长。
编辑: 我需要比较文件的文件签名,并将其与以0xFFD8开头的JPG和以0x25504446开头的PDF进行比较。我需要使用这些值确定文件是PDF还是JPG。如果我的话带错了,我深表歉意。如果有人对我应该如何使用0x25504446和0xFFD8来比较这两个方法有更好的想法,我会非常注意。对不起,如果我措辞怪异。