Path.GetFullPath 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
GetFullPath(String) |
Retorna o caminho absoluto para a cadeia de caracteres do caminho especificado. |
GetFullPath(String, String) |
Retorna um caminho absoluto de um caminho relativo e um caminho base totalmente qualificado. |
GetFullPath(String)
- Origem:
- Path.Unix.cs
- Origem:
- Path.Unix.cs
- Origem:
- Path.Unix.cs
Retorna o caminho absoluto para a cadeia de caracteres do caminho especificado.
public:
static System::String ^ GetFullPath(System::String ^ path);
public static string GetFullPath (string path);
static member GetFullPath : string -> string
Public Shared Function GetFullPath (path As String) As String
Parâmetros
- path
- String
O arquivo ou diretório para o qual as informações de caminho absoluto serão obtidas.
Retornos
O local totalmente qualificado de path
, como "C:\MyFile.txt".
Exceções
path
é uma cadeia de caracteres de comprimento zero, contém apenas espaço em branco em sistemas Windows ou contém um ou mais dos caracteres inválidos definidos em GetInvalidPathChars().
- ou -
O sistema não pôde recuperar o caminho absoluto.
O chamador não tem as permissões necessárias.
path
é null
.
.NET Framework apenas: path
contém dois-pontos (":") que não faz parte de um identificador de volume (por exemplo, "c:\").
O caminho especificado, o nome de arquivo, ou ambos excedem o tamanho máximo definido pelo sistema.
Exemplos
O exemplo a seguir demonstra o GetFullPath
método em uma plataforma de área de trabalho baseada no Windows.
String^ fileName = "myfile.ext";
String^ path = "\\mydir\\";
String^ fullPath;
fullPath = Path::GetFullPath( path );
Console::WriteLine( "GetFullPath('{0}') returns '{1}'", path, fullPath );
fullPath = Path::GetFullPath( fileName );
Console::WriteLine( "GetFullPath('{0}') returns '{1}'", fileName, fullPath );
// Output is based on your current directory, except
// in the last case, where it is based on the root drive
// GetFullPath('mydir') returns 'C:\temp\Demo\mydir'
// GetFullPath('myfile.ext') returns 'C:\temp\Demo\myfile.ext'
// GetFullPath('\mydir') returns 'C:\mydir'
string fileName = "myfile.ext";
string path1 = @"mydir";
string path2 = @"\mydir";
string fullPath;
fullPath = Path.GetFullPath(path1);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
path1, fullPath);
fullPath = Path.GetFullPath(fileName);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
fileName, fullPath);
fullPath = Path.GetFullPath(path2);
Console.WriteLine("GetFullPath('{0}') returns '{1}'",
path2, fullPath);
// Output is based on your current directory, except
// in the last case, where it is based on the root drive
// GetFullPath('mydir') returns 'C:\temp\Demo\mydir'
// GetFullPath('myfile.ext') returns 'C:\temp\Demo\myfile.ext'
// GetFullPath('\mydir') returns 'C:\mydir'
Dim fileName As string = "myfile.ext"
Dim path1 As string = "mydir"
Dim path2 As string = "\mydir"
Dim fullPath As string
fullPath = Path.GetFullPath(path1)
Console.WriteLine("GetFullPath('{0}') returns '{1}'", _
path1, fullPath)
fullPath = Path.GetFullPath(fileName)
Console.WriteLine("GetFullPath('{0}') returns '{1}'", _
fileName, fullPath)
fullPath = Path.GetFullPath(path2)
Console.WriteLine("GetFullPath('{0}') returns '{1}'", _
path2, fullPath)
' Output is based on your current directory, except
' in the last case, where it is based on the root drive
' GetFullPath('mydir') returns 'C:\temp\Demo\mydir'
' GetFullPath('myfile.ext') returns 'C:\temp\Demo\myfile.ext'
' GetFullPath('\mydir') returns 'C:\mydir'
Comentários
O caminho absoluto inclui todas as informações necessárias para localizar um arquivo ou diretório em um sistema.
O arquivo ou diretório especificado por path
não precisa existir. Por exemplo, se c:\temp\newdir for o diretório atual, chamar GetFullPath
em um nome de arquivo como test.txt retornará c:\temp\newdir\test.txt. O arquivo não precisa existir.
Importante
Se path
for um caminho relativo, essa sobrecarga retornará um caminho totalmente qualificado que pode ser baseado na unidade atual e no diretório atual. A unidade atual e o diretório atual podem ser alterados a qualquer momento à medida que um aplicativo é executado. Como resultado, o caminho retornado por essa sobrecarga não pode ser determinado com antecedência. Para retornar um caminho determinístico, chame a GetFullPath(String, String) sobrecarga. Você também pode chamar o IsPathFullyQualified método para determinar se um caminho é totalmente qualificado ou relativo e, portanto, se uma chamada para GetFullPath
é necessária.
No entanto, se path
existir, o chamador deverá ter permissão para obter informações de caminho para path
. Observe que, ao contrário da maioria dos membros da Path classe , esse método acessa o sistema de arquivos.
Esse método usa o diretório atual e as informações de volume atuais para qualificar path
totalmente . Se você especificar um nome de arquivo somente em path
, GetFullPath
retornará o caminho totalmente qualificado do diretório atual.
Se você passar um nome de arquivo curto, ele será expandido para um nome de arquivo longo.
Se um caminho não contiver caracteres significativos, ele será inválido, a menos que contenha um ou mais caracteres "." seguidos por qualquer número de espaços; em seguida, ele será analisado como "." ou "..".
O .NET Core 1.1 e versões posteriores e .NET Framework 4.6.2 e versões posteriores também dão suporte a caminhos que incluem nomes de dispositivo, como "\\?\C:\".
Para obter mais informações sobre formatos de caminho de arquivo no Windows, consulte Formatos de caminho de arquivo em sistemas Windows. 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
GetFullPath(String, String)
- Origem:
- Path.Unix.cs
- Origem:
- Path.Unix.cs
- Origem:
- Path.Unix.cs
Retorna um caminho absoluto de um caminho relativo e um caminho base totalmente qualificado.
public:
static System::String ^ GetFullPath(System::String ^ path, System::String ^ basePath);
public static string GetFullPath (string path, string basePath);
static member GetFullPath : string * string -> string
Public Shared Function GetFullPath (path As String, basePath As String) As String
Parâmetros
- path
- String
Um caminho relativo a ser concatenado com basePath
.
- basePath
- String
O início de um caminho totalmente qualificado.
Retornos
O caminho absoluto.
Exceções
path
ou basePath
é null
.
basePath
não é um caminho totalmente qualificado.
- ou -
path
ou basePath
contém um ou mais caracteres inválidos definidos em GetInvalidPathChars().
Exemplos
O exemplo a seguir define uma variável, basePath
, para representar o diretório atual de um aplicativo. Em seguida, ele o passa para o GetFullPath
método para obter um caminho totalmente qualificado para o diretório de dados do aplicativo.
using System;
using System.IO;
class Program
{
static void Main()
{
string basePath = Environment.CurrentDirectory;
string relativePath = "./data/output.xml";
// Unexpectedly change the current directory.
Environment.CurrentDirectory = "C:/Users/Public/Documents/";
string fullPath = Path.GetFullPath(relativePath, basePath);
Console.WriteLine($"Current directory:\n {Environment.CurrentDirectory}");
Console.WriteLine($"Fully qualified path:\n {fullPath}");
}
}
// The example displays the following output:
// Current directory:
// C:\Users\Public\Documents
// Fully qualified path:
// C:\Utilities\data\output.xml
Imports System.IO
Module Program
Public Sub Main()
Dim basePath As String = Environment.CurrentDirectory
Dim relativePath As String = "./data/output.xml"
' Unexpectedly change the current directory.
Environment.CurrentDirectory = "C:/Users/Public/Documents/"
Dim fullPath As String = Path.GetFullPath(relativePath, basePath)
Console.WriteLine($"Current directory:\n {Environment.CurrentDirectory}")
Console.WriteLine($"Fully qualified path:\n {fullPath}")
End Sub
End Module
' The example displays the following output:
' Current directory:
' C:\Users\Public\Documents
' Fully qualified path:
' C:\Utilities\data\output.xml
Comentários
Se path
for um caminho vazio, o método retornará basePath
. Se path
for um caminho totalmente qualificado, o método passará path
para o GetFullPath(String) método e retornará o resultado.
Use esse método para retornar um caminho determinístico com base em um volume especificado e diretório com raiz quando você estiver usando caminhos relativos. O uso de um predefinido basePath
em vez de um com base no diretório de unidade atual protege contra caminhos de arquivo indesejados causados por alterações inesperadas na unidade e no diretório atuais.