Единственный способ идентифицировать файл, который не имеет расширения и не имеет других метаданных, - это просмотреть его содержимое и идентифицировать файл на его основе.
Если это файл изображения, то он обычно начинается с некоторой магической строки, которая идентифицирует его как JPEG, PNG и т. Д. Вы также можете просто попытаться открыть его как изображение и посмотреть, работает ли он.
Однако для текстового файла этот подход не будет работать, поскольку текстовые файлы могут содержать любое содержимое. Если у вас есть представление о том, какой текст содержится в файле, вы можете просто открыть его в виде строки и затем выполнить поиск по строке для этого текста. Если нет, вы можете просто найти слова в словаре и затем предположить, что это текст, если он содержит разумное количество словарных слов.
Возможно, вам лучше попросить пользователя указать тип файла, если расширение отсутствует - это проще и надежнее.