确定c#中的文件扩展名

时间:2013-03-22 07:32:18

标签: c# .net

现在我将文件作为字符串获取,我需要遍历每个已知的ex。抓住它的文件扩展名。

如何在运行时使用c#确定文件扩展名而不进行迭代?

9 个答案:

答案 0 :(得分:12)

使用框架提供的Path.GetExtension方法。

  

指定路径的扩展名(包括句号“。”),或   null或String.Empty。如果path为null,则GetExtension返回null。如果   路径没有扩展信息,GetExtension返回   的String.Empty。

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

您将获得.exe

答案 1 :(得分:2)

您是否尝试过使用类似

的内容

Path.GetExtension()

  

指定路径的扩展名(包括句点“。”)或   null或String.Empty。如果path为null,则GetExtension返回null。如果   路径没有扩展信息,GetExtension返回   的String.Empty。

答案 2 :(得分:2)

您可以使用Path.GetExtension()方法。

  

指定路径的扩展名(包括句点“。”),或   nullString.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。实施检查DirectorySeparatorCharAltDirectorySeparatorCharVolumeSeparatorChar

答案 3 :(得分:1)

使用Path.GetExtension

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

或者,您是不是想要搜索具有给定基本名称和任何扩展名的文件?您可以使用Directory.GetFiles

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

答案 4 :(得分:1)

找到它的另一种方法..

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 :(得分:1)

您可以使用System.IO.FileInfo Class 它有一个名为Extension的属性,它为您提供一个包含文件名扩展名部分的字符串。

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

答案 6 :(得分:0)

使用Path.GetExtension(path)它可能会有帮助。

答案 7 :(得分:0)

string getFileExtension (string Path)
{
return Path.GetExtension(Path);
}

答案 8 :(得分:0)

string path = Path.GetExtension(filePath);

来自MSDN - Path.GetExtension Method