определить расширение файла в С#

Вопрос:

Прямо сейчас я получаю файл как строку, и мне нужно перебирать все известные ex. чтобы захватить его расширение файла.

Как определить расширение файла во время выполнения с помощью С# без итерации для ожидаемого?

Лучший ответ:

Используйте метод Path.GetExtension, предоставляемый инфраструктурой.

Расширение указанного пути (включая период “.”), Или null, или String.Empty. Если путь равен null, GetExtension возвращает значение null. Если в пути нет информации о расширении, GetExtension возвращает String.Empty.

string extension = Path.GetExtension(@"C:\mydir\file.exe");

Вы получите .exe

Ответ №1

Вы пытались использовать что-то вроде

Path.GetExtension()

Расширение указанного пути (включая период “.”), Или null, или String.Empty. Если путь равен null, GetExtension возвращает значение null. Если в пути нет информации о расширении, GetExtension возвращает String.Empty.

Ответ №2

Вы можете использовать Path.GetExtension().

Расширение указанного пути (включая период “.”), Или null, или String.Empty. Если путь равен null, GetExtension возвращает значение null. Если в пути нет информации о расширении, GetExtension возвращает String.Empty.

string p = @"C:\Users\Sam\Documents\Test.txt";

string e = Path.GetExtension(p);
if (e == ".txt")
{
Console.WriteLine(e);
}

Path.GetExtension проверяет весь путь для недопустимых символов. Этот шаг является избыточным, если вы уже знаете, что ваш путь действителен, например, когда вы получили его из Directory.GetFile. Он ищет разделитель char. AltDirectorySeparatorChar реализации для DirectorySeparatorChar, AltDirectorySeparatorChar и VolumeSeparatorChar.

Ответ №3

Использовать Path.GetExtension:

string extension = Path.GetExtension(@"C:\myfile.txt");

Или, вы имели в виду, что хотите найти файл с заданным базовым именем и любым расширением? Вы можете использовать Directory.GetFiles:

string[] files = Directory.GetFiles(@"C:\", "myfile.*")

Ответ №4

Альтернативный способ найти это.

var file = new FileInfo("myPath");
var extension = file.Extension;

Так, например, если мы хотим взять все txt файлы из каталога, мы можем сделать вот так:

var directory = new DirectoryInfo("myFolder");
var filesWithTxtExtension = directory.GetFiles().Where(file => file.Extension == ".txt");

Ответ №5

Вы можете использовать класс System.IO.FileInfo.
Он имеет свойство под названием Extension, которое дает строку, содержащую часть расширения имени файла.

FileInfo file = new FileInfo("myfile.txt")
string fileExtension = file.Extension;

Ответ №6

Используйте Path.GetExtension(path) это может быть полезно.

Ответ №7
string getFileExtension (string Path)
{
return Path.GetExtension(Path);
}

Ответ №8
string path = Path.GetExtension(filePath);

Из MSDN – метод Path.GetExtension

Оцените статью
TechArks.Ru
Добавить комментарий