0

現在、ファイルを文字列として取得しており、既知のすべての ex を反復処理する必要があります。ファイル拡張子を取得する場合。

c# を使用して実行時にファイル拡張子を決定するにはどうすればよいですか?

4

9 に答える 9

12

フレームワークが提供するPath.GetExtensionメソッドを使用します。

指定されたパスの拡張子(ピリオド "。"を含む)、null、またはString.Empty。パスがnullの場合、GetExtensionはnullを返します。パスに拡張情報がない場合、GetExtensionはString.Emptyを返します。

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

あなたは得るでしょう.exe

于 2013-03-22T07:33:10.967 に答える
2

次のようなものを使用してみましたか

Path.GetExtension()

指定されたパスの拡張子(ピリオド「。」を含む)、null、またはString.Empty。パスがnullの場合、GetExtensionはnullを返します。パスに拡張情報がない場合、GetExtensionはString.Emptyを返します。

于 2013-03-22T07:33:36.430 に答える
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パス全体で無効な文字がないかチェックします。sからパスを受け取ったときなど、パスが有効であることがすでにわかっている場合、この手順は冗長ですDirectory.GetFile。セパレーター文字を探します。DirectorySeparatorChar実装は、、、AltDirectorySeparatorCharおよびをチェックしVolumeSeparatorCharます。

于 2013-03-22T07:33:59.833 に答える
1

使用Path.GetExtension

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

または、特定のベース名と拡張子を持つファイルを検索するという意味ですか?あなたが使用することができますDirectory.GetFiles

string[] files = Directory.GetFiles(@"C:\", "myfile.*")
于 2013-03-22T07:34:04.197 に答える
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");
于 2013-03-22T07:38:20.990 に答える
1

System.IO.FileInfoクラスを使用できます。これには、ファイル名の拡張子部分を含む文字列を提供するExtension
というプロパティがあります。

FileInfo file = new FileInfo("myfile.txt")
string fileExtension = file.Extension;
于 2013-03-22T07:38:41.220 に答える
0

それを使用Path.GetExtension(path)すると役立つ場合があります。

于 2013-03-22T07:33:22.160 に答える
0
string getFileExtension (string Path)
{
return Path.GetExtension(Path);
}
于 2013-03-22T07:35:15.333 に答える
0
string path = Path.GetExtension(filePath);

MSDNから-Path.GetExtensionメソッド

于 2013-03-22T07:36:05.190 に答える