Pita32 Ответов: 1

Получение информации о файле из файла, хранящегося в строке


Привет -

Вот что у меня есть. Каталог файлов:

string[] filePaths = каталог.Заражен(@"c:\files\", "*.*");


Что мне нужно сделать, так это использовать сигнатуру файла, чтобы определить тип файла каждого файла, когда я выполняю цикл, то есть использовать сигнатуру файла, чтобы определить, является ли он .pdf (0xFFD8) или что-то еще.

Кроме того, мне нужно сохранить содержимое хэша MD5 каждого файла, поскольку он зацикливается в локальной переменной.

Мне нужно преобразовать имена файлов, хранящиеся в строке, в реальные файлы, чтобы получить эту информацию.

Как бы я это сделал?

Что я уже пробовал:

не знаю, что и попробовать - в растерянности здесь

1 Ответов

Рейтинг:
0

MadMyche

Первая часть заключается в том, что теперь у вас есть список файлов, которые вы, кажется, имеете

Часть 2 будет проходить через эти файлы (foreach) и внутри этого цикла...
2a: считывание каждого файла в массив байт()
2b: проверьте "магическое число" из содержимого этих файлов
2c: MD5 то же самое содержимое файла

Этот вопрос из нескольких лет назад заботится о 2a/2b... И запуск MD5 на этом не должен занимать слишком много времени с вашей стороны
https://www.codeproject.com/Questions/1096579/Checking-file-signature-magic-number


Pita32

Извините, Мадмич, не мог бы я побеспокоить вас перевести это на C#? Я еще не слишком хорошо умею переводить VB.NET к C#.

MadMyche

VB# не так уж сильно отличается; и я бы рекомендовал вам использовать веб-сайт MS Docs для поиска этих методов.
Вот справочник.Метод GetFiles:
https://docs.microsoft.com/en-us/dotnet/api/system.io.directory.getfiles?view=netframework-4.8