2013-03-22 118 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;