Path.GetDirectoryName Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
GetDirectoryName(String) |
Retorna as informações de diretório para a caminho especificado. |
GetDirectoryName(ReadOnlySpan<Char>) |
Retorna as informações de diretório para o caminho especificado representado por um intervalo de caracteres. |
GetDirectoryName(String)
- Origem:
- Path.cs
- Origem:
- Path.cs
- Origem:
- Path.cs
Retorna as informações de diretório para a caminho especificado.
public:
static System::String ^ GetDirectoryName(System::String ^ path);
public static string GetDirectoryName (string path);
public static string? GetDirectoryName (string? path);
static member GetDirectoryName : string -> string
Public Shared Function GetDirectoryName (path As String) As String
Parâmetros
- path
- String
O caminho de um arquivo ou diretório.
Retornos
Informações de diretório para path
ou null
, se path
denotar um diretório raiz ou for nulo. Retornará Empty se path
não contiver informações de diretório.
Exceções
Versões do .NET Framework e do .NET Core anteriores à 2.1: o path
parâmetro contém caracteres inválidos, está vazio ou contém apenas espaços em branco.
O parâmetro path
é maior que o comprimento máximo definido pelo sistema.
Observação: no .NET para aplicativos da Windows Store ou na Biblioteca de Classes Portátil, capture a exceção de classe base, IOException, em vez disso.
Exemplos
O exemplo a seguir demonstra como usar o GetDirectoryName
método em uma plataforma de área de trabalho baseada no Windows.
String^ filePath = "C:\\MyDir\\MySubDir\\myfile.ext";
String^ directoryName;
int i = 0;
while (filePath != nullptr)
{
directoryName = Path::GetDirectoryName(filePath);
Console::WriteLine("GetDirectoryName('{0}') returns '{1}'",
filePath, directoryName);
filePath = directoryName;
if (i == 1)
{
filePath = directoryName + "\\"; // this will preserve the previous path
}
i++;
}
/*
This code produces the following output:
GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir') returns 'C:\'
GetDirectoryName('C:\') returns ''
*/
string filePath = @"C:\MyDir\MySubDir\myfile.ext";
string directoryName;
int i = 0;
while (filePath != null)
{
directoryName = Path.GetDirectoryName(filePath);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'",
filePath, directoryName);
filePath = directoryName;
if (i == 1)
{
filePath = directoryName + @"\"; // this will preserve the previous path
}
i++;
}
/*
This code produces the following output:
GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir') returns 'C:\'
GetDirectoryName('C:\') returns ''
*/
Dim filepath As String = "C:\MyDir\MySubDir\myfile.ext"
Dim directoryName As String
Dim i As Integer = 0
While filepath <> Nothing
directoryName = Path.GetDirectoryName(filepath)
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", _
filepath, directoryName)
filepath = directoryName
If i = 1 Then
filepath = directoryName + "\" ' this will preserve the previous path
End If
i = i + 1
End While
'This code produces the following output:
'
' GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
' GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
' GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
' GetDirectoryName('C:\MyDir') returns 'C:\'
' GetDirectoryName('C:\') returns ''
Comentários
Na maioria dos casos, a cadeia de caracteres retornada por esse método consiste em todos os caracteres no caminho até, mas não incluindo, os últimos caracteres separadores de diretório. Um caractere separador de diretório pode ser DirectorySeparatorChar ou AltDirectorySeparatorChar. Se o caminho consistir em um diretório raiz, como "c:\", null
será retornado.
Esse método não dá suporte a caminhos usando "file:".
Como o caminho retornado não inclui os últimos caracteres separadores de diretório, passar o caminho retornado de volta para o GetDirectoryName método trunca um nível de pasta por chamada subsequente no caminho do resultado. Por exemplo, passar o caminho "C:\Directory\SubDirectory\test.txt" para GetDirectoryName retorna "C:\Directory\SubDirectory". Passar esse caminho, "C:\Directory\SubDirectory", para GetDirectoryName retorna "C:\Directory".
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Confira também
- Formatos de caminho de arquivo em sistemas Windows
- E/S de arquivo e de fluxo
- Como ler texto de um arquivo
- Como gravar texto em um arquivo
Aplica-se a
GetDirectoryName(ReadOnlySpan<Char>)
- Origem:
- Path.cs
- Origem:
- Path.cs
- Origem:
- Path.cs
Retorna as informações de diretório para o caminho especificado representado por um intervalo de caracteres.
public:
static ReadOnlySpan<char> GetDirectoryName(ReadOnlySpan<char> path);
public static ReadOnlySpan<char> GetDirectoryName (ReadOnlySpan<char> path);
static member GetDirectoryName : ReadOnlySpan<char> -> ReadOnlySpan<char>
Public Shared Function GetDirectoryName (path As ReadOnlySpan(Of Char)) As ReadOnlySpan(Of Char)
Parâmetros
- path
- ReadOnlySpan<Char>
O caminho do qual recuperar as informações de diretório.
Retornos
Informações de diretório para path
ou um intervalo vazio se path
for null
, um intervalo vazio ou uma raiz (como \, C:ou \\server\share).
Comentários
Ao contrário da sobrecarga de cadeia de caracteres, esse método não normaliza separadores de diretório.