现在我将文件作为字符串获取,我需要遍历每个已知的 ex。案例来获取它的文件扩展名。
如何使用 c# 在运行时确定文件扩展名而不进行预期迭代?
使用框架提供的Path.GetExtension方法。
指定路径的扩展名(包括句点“.”),或者null,或者String.Empty。如果 path 为 null,GetExtension 返回 null。如果 path 没有扩展信息,GetExtension 返回 String.Empty。
string extension = Path.GetExtension(@"C:\mydir\file.exe");
你会得到.exe
您是否尝试过使用类似的东西
指定路径的扩展名(包括句点“.”),或者null,或者String.Empty。如果 path 为 null,GetExtension 返回 null。如果 path 没有扩展信息,GetExtension 返回 String.Empty。
你可以使用Path.GetExtension()
方法。
指定路径的扩展名(包括句点“.”),或
null
,或String.Empty
。如果路径是null
,则GetExtension
返回null
。如果 path 没有扩展信息,则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
s 收到它时,此步骤是多余的。它寻找一个分隔符。实现检查DirectorySeparatorChar
、AltDirectorySeparatorChar
和VolumeSeparatorChar
。
string extension = Path.GetExtension(@"C:\myfile.txt");
或者,您的意思是要搜索具有给定基本名称和任何扩展名的文件?您可以使用Directory.GetFiles
:
string[] files = Directory.GetFiles(@"C:\", "myfile.*")
找到它的另一种方法..
var file = new FileInfo("myPath");
var extension = file.Extension;
因此,例如,如果我们想从目录中获取所有 txt 文件,我们可以这样做:
var directory = new DirectoryInfo("myFolder");
var filesWithTxtExtension = directory.GetFiles().Where(file => file.Extension == ".txt");
您可以使用System.IO.FileInfo 类。
它有一个名为Extension的属性,它为您提供一个包含文件名扩展部分的字符串。
FileInfo file = new FileInfo("myfile.txt")
string fileExtension = file.Extension;
使用Path.GetExtension(path)
它可能会有所帮助。
string getFileExtension (string Path)
{
return Path.GetExtension(Path);
}
string path = Path.GetExtension(filePath);