Прямо сейчас я получаю файл как строку, и мне нужно перебирать все известные ex. чтобы захватить его расширение файла.определить расширение файла в C#
Как определить расширение файла во время выполнения с помощью C# без итерации для ожидаемого?
Прямо сейчас я получаю файл как строку, и мне нужно перебирать все известные ex. чтобы захватить его расширение файла.определить расширение файла в C#
Как определить расширение файла во время выполнения с помощью C# без итерации для ожидаемого?
Используйте метод Path.GetExtension, предоставляемый каркасом.
Расширение указанного пути (включая период «») или нуль или String.Empty. Если путь равен null, GetExtension возвращает значение null. Если путь не имеет информации о расширении, GetExtension возвращает String.Empty.
string extension = Path.GetExtension(@"C:\mydir\file.exe");
Вы получите .exe
Использование Path.GetExtension(path)
это может быть полезно.
Вы пробовали использовать что-то вроде
Расширения указанного пути (включая период ""), или нуля или String.Empty. Если путь равен null, GetExtension возвращает значение null. Если путь не имеет информации о расширении, GetExtension возвращает String.Empty.
Вы можете использовать метод 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
.
Использование Path.GetExtension
:
string extension = Path.GetExtension(@"C:\myfile.txt");
Или, вы имели в виду вы хотите найти файл с заданным базовым именем и любым расширением?Вы можете использовать Directory.GetFiles
:
string[] files = Directory.GetFiles(@"C:\", "myfile.*")
string getFileExtension (string Path)
{
return Path.GetExtension(Path);
}
string path = Path.GetExtension(filePath);
Альтернативный путь найти его ..
var file = new FileInfo("myPath");
var extension = file.Extension;
Так, например, если мы хотим взять все текстовые файлы из каталог, который мы можем сделать следующим образом:
var directory = new DirectoryInfo("myFolder");
var filesWithTxtExtension = directory.GetFiles().Where(file => file.Extension == ".txt");
Вы можете использовать System.IO.FileInfo Class.
Он имеет свойство, называемое Extension, которое дает строку, содержащую часть расширения имени файла.
FileInfo file = new FileInfo("myfile.txt")
string fileExtension = file.Extension;