2013-03-22 93 views
0

现在我正在将文件作为字符串,我需要遍历每个已知的前。案件抓住它的文件扩展名。在C#中确定文件扩展名#

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

回答

12

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

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

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

你会得到.exe

0

使用Path.GetExtension(path)它可以是有帮助的。

2

您是否尝试过使用类似

Path.GetExtension()

指定路径的扩展名(包括句号 “”),或 空,或的String.Empty。如果path为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 s收到它。它查找分隔符字符。执行检查DirectorySeparatorChar,AltDirectorySeparatorCharVolumeSeparatorChar

1

使用Path.GetExtension

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

或者,你的意思是你要搜索一个文件,一个给定基本名称和任何扩展?您可以使用Directory.GetFiles

string[] files = Directory.GetFiles(@"C:\", "myfile.*") 
0
string getFileExtension (string Path) 
{ 
return Path.GetExtension(Path); 
} 
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"); 
1

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

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