2013-03-22 3 views
0

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

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

ответ

12

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

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

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

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

0

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

2

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

Path.GetExtension()

Расширения указанного пути (включая период ""), или нуля или 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. Проверка реализации для DirectorySeparatorChar, AltDirectorySeparatorChar и VolumeSeparatorChar.

1

Использование Path.GetExtension:

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

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

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

Альтернативный путь найти его ..

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

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

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

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

FileInfo file = new FileInfo("myfile.txt") 
string fileExtension = file.Extension; 
Смежные вопросы