Language

Path.GetFileName メソッド

定義

オーバーロード

Name 説明
GetFileName(ReadOnlySpan<Char>)

読み取り専用の文字スパンで表されるファイル パスのファイル名と拡張子を返します。

GetFileName(String)

指定したパス文字列のファイル名と拡張子を返します。

GetFileName(ReadOnlySpan<Char>)

ソース:
Path.cs
ソース:
Path.cs
ソース:
Path.cs
ソース:
Path.cs
ソース:
Path.cs

読み取り専用の文字スパンで表されるファイル パスのファイル名と拡張子を返します。

public:
 static ReadOnlySpan<char> GetFileName(ReadOnlySpan<char> path);
public static ReadOnlySpan<char> GetFileName(ReadOnlySpan<char> path);
static member GetFileName : ReadOnlySpan<char> -> ReadOnlySpan<char>
Public Shared Function GetFileName (path As ReadOnlySpan(Of Char)) As ReadOnlySpan(Of Char)

パラメーター

path
ReadOnlySpan<Char>

ファイル名と拡張子を取得するパスを含む読み取り専用スパン。

返品

最後のディレクトリ区切り文字または pathのルートのいずれか後の文字。

注釈

返される読み取り専用スパンには、最後のディレクトリ区切り文字またはpathのルートの末尾 (GetPathRootによって返される) のいずれか後に続くpathの文字が含まれます。 pathがディレクトリ区切り文字で終わるか、ルートのみで構成されている場合、メソッドはReadOnlySpan<T>.Emptyを返します。 pathにディレクトリ区切り文字もルートも含まれている場合、メソッドはpathを返します。

Windowsでは、ルートにはドライブや UNC 共有などを指定できます。 DOS デバイス パスなど、他のルート形式については、Windows システムのファイル パス形式を参照してください。 C:file.txtではルートがC:されるため、ファイル名はfile.txt。 \\server\shareなどの UNC ルートにはディレクトリ区切り記号が含まれていますが、これらはルートの一部であり、ファイル名の先頭をマークしません。 そのため、パス全体がルートであるため、 \\server\share\file.txt のファイル名は file.txtされ、 \\server\share のファイル名は空です。

関連項目

適用対象

GetFileName(String)

ソース:
Path.cs
ソース:
Path.cs
ソース:
Path.cs
ソース:
Path.cs
ソース:
Path.cs

指定したパス文字列のファイル名と拡張子を返します。

public:
 static System::String ^ GetFileName(System::String ^ path);
public static string GetFileName(string path);
public static string? GetFileName(string? path);
static member GetFileName : string -> string
Public Shared Function GetFileName (path As String) As String

パラメーター

path
String

ファイル名と拡張子を取得するパス文字列。

返品

最後のディレクトリ区切り文字またはpathのルートのいずれか後に続く文字、またはpathがnullされている場合はnull。

例外

.NET Framework および .NET Core バージョン 2.1 より前: path には、 GetInvalidPathChars()で定義されている無効な文字が 1 つ以上含まれています。

例

次の例では、Windows ベースのデスクトップ プラットフォームでの GetFileName メソッドの動作を示します。

string fileName = @"C:\mydir\myfile.ext";
string path = @"C:\mydir\";
string result;

result = Path.GetFileName(fileName);
Console.WriteLine("GetFileName('{0}') returns '{1}'",
    fileName, result);

result = Path.GetFileName(path);
Console.WriteLine("GetFileName('{0}') returns '{1}'",
    path, result);

// This code produces output similar to the following:
//
// GetFileName('C:\mydir\myfile.ext') returns 'myfile.ext'
// GetFileName('C:\mydir\') returns ''
Dim fileName As String = "C:\mydir\myfile.ext"
Dim pathname As String = "C:\mydir\"
Dim result As String

result = Path.GetFileName(fileName)
Console.WriteLine("GetFileName('{0}') returns '{1}'", fileName, result)

result = Path.GetFileName(pathname)
Console.WriteLine("GetFileName('{0}') returns '{1}'", pathname, result)

' This code produces output similar to the following:
'
' GetFileName('C:\mydir\myfile.ext') returns 'myfile.ext'
' GetFileName('C:\mydir\') returns ''

注釈

ファイル パスがnullされている場合、戻り値はnull。

返される文字列には、最後のDirectorySeparatorCharまたはAltDirectorySeparatorChar文字、またはpathのルートの末尾 (GetPathRootによって返される) のいずれか後に続くpathの文字が含まれます。 pathがディレクトリ区切り文字で終わるか、ルートのみで構成されている場合、メソッドはString.Emptyを返します。 pathにディレクトリ区切り文字もルートも含まれている場合、メソッドはpathを返します。

Windowsでは、ルートにはドライブや UNC 共有などを指定できます。 DOS デバイス パスなど、他のルート形式については、Windows システムのファイル パス形式を参照してください。 C:file.txtではルートがC:されるため、ファイル名はfile.txt。 \\server\shareなどの UNC ルートにはディレクトリ区切り記号が含まれていますが、これらはルートの一部であり、ファイル名の先頭をマークしません。 そのため、パス全体がルートであるため、 \\server\share\file.txt のファイル名は file.txtされ、 \\server\share のファイル名は空です。

は Unix では有効なファイル名であるため、Unix ベースのプラットフォームで実行されている は、C:\mydir\myfile.ext ただし、Windows ベースのプラットフォームで実行されている は、/tmp/myfile.ext したがって、 メソッドの動作は、Unix ベースおよびWindows ベースのプラットフォームでは厳密には同じではありません。

一般的な I/O タスクの一覧については、「 一般的な I/O タスク」を参照してください。

関連項目

適用対象