Path.GetFileName 方法

定义

重载

GetFileName(ReadOnlySpan<Char>)

返回由只读字符范围表示的文件路径的文件名和扩展名。

GetFileName(String)

返回指定路径字符串的文件名和扩展名。

GetFileName(ReadOnlySpan<Char>)

Source:
Path.cs
Source:
Path.cs
Source:
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字符。 如果 中的最后一个字符 path 是卷分隔符或目录分隔符,则 方法返回 ReadOnlySpan<T>.Empty。 如果 path 不包含分隔符,则 方法返回 path

另请参阅

适用于

GetFileName(String)

Source:
Path.cs
Source:
Path.cs
Source:
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 的最后一个字符是目录或卷分隔符,则此方法返回 Empty。 如果 pathnull,则此方法返回 null

例外

.NET Framework 和 2.1 之前的 .NET Core 版本:path包含 中GetInvalidPathChars()定义的一个或多个无效字符。

示例

以下示例演示方法在基于 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 ''
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 ''

注解

如果文件路径为 ,则返回的值为 nullnull

用于确定文件名开头的分隔符为 DirectorySeparatorCharAltDirectorySeparatorChar

由于 \ 是 Unix 上的合法文件名, GetFileName 因此在基于 Unix 的平台下运行无法正确返回基于 Windows 的路径(如 C:\mydir\myfile.ext)的文件名,但在 GetFileName 基于 Windows 的平台下运行可以从基于 Unix 的路径 (如 /tmp/myfile.ext)正确返回文件名,因此方法的行为 GetFileName 在基于 Unix 和基于 Windows 的平台上并不完全相同。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于