Path.GetFullPath Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
GetFullPath(String) |
Restituisce il percorso assoluto della stringa di percorso specificata. |
GetFullPath(String, String) |
Restituisce un percorso assoluto da un percorso relativo e un percorso di base completo. |
GetFullPath(String)
- Origine:
- Path.Unix.cs
- Origine:
- Path.Unix.cs
- Origine:
- Path.Unix.cs
Restituisce il percorso assoluto della stringa di percorso specificata.
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
Parametri
- path
- String
File o directory per cui ottenere informazioni relative al percorso assoluto.
Restituisce
Percorso completo di path
, ad esempio "C:\MyFile.txt".
Eccezioni
path
è una stringa di lunghezza zero, contiene solo spazi vuoti nei sistemi Windows oppure contiene uno o più caratteri non validi definiti in GetInvalidPathChars().
-oppure-
Il sistema non è riuscito a recuperare il percorso assoluto.
Il chiamante non ha le autorizzazioni richieste.
path
è null
.
Solo .NET Framework: path
contiene due punti (":") che non fa parte di un identificatore di volume (ad esempio, "c:\").
Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.
Esempio
Nell'esempio seguente viene illustrato il GetFullPath
metodo in una piattaforma desktop basata su 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'
Commenti
Il percorso assoluto include tutte le informazioni necessarie per individuare un file o una directory in un sistema.
Il file o la directory specificata da path
non è necessario esistere. Ad esempio, se c:\temp\newdir è la directory corrente, chiamare GetFullPath
su un nome di file, ad esempio test. txt restituisce c:\temp\newdir\test.txt. Il file non deve esistere.
Importante
Se path
è un percorso relativo, questo overload restituisce un percorso completo che può essere basato sull'unità corrente e sulla directory corrente. L'unità corrente e la directory corrente possono cambiare in qualsiasi momento durante l'esecuzione di un'applicazione. Di conseguenza, il percorso restituito da questo overload non può essere determinato in anticipo. Per restituire un percorso deterministico, chiamare l'overload GetFullPath(String, String) . È anche possibile chiamare il IsPathFullyQualified metodo per determinare se un percorso è completo o relativo e quindi se è necessaria una chiamata a GetFullPath
.
Tuttavia, se path
esiste, il chiamante deve disporre dell'autorizzazione per ottenere le informazioni sul percorso per path
. Si noti che, a differenza della maggior parte dei membri della Path classe, questo metodo accede al file system.
Questo metodo usa la directory corrente e le informazioni sul volume corrente per qualificare path
completamente . Se si specifica un nome di file solo in path
, GetFullPath
restituisce il percorso completo della directory corrente.
Se si passa un nome di file breve, viene espanso in un nome di file lungo.
Se un percorso non contiene caratteri significativi, non è valido a meno che non contenga uno o più caratteri "." seguiti da un numero qualsiasi di spazi; verrà quindi analizzato come "." o "..".
.NET Core 1.1 e versioni successive e .NET Framework 4.6.2 e versioni successive supportano anche percorsi che includono i nomi dei dispositivi, ad esempio "\\?\C:\".
Per altre informazioni sui formati di percorso dei file in Windows, vedere Formati di percorso dei file nei sistemi Windows. Per un elenco delle attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
- Formati dei percorsi di file nei sistemi Windows
- I/O di file e Stream
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
GetFullPath(String, String)
- Origine:
- Path.Unix.cs
- Origine:
- Path.Unix.cs
- Origine:
- Path.Unix.cs
Restituisce un percorso assoluto da un percorso relativo e un percorso di base completo.
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
Parametri
- path
- String
Percorso relativo da concatenare a basePath
.
- basePath
- String
Inizio di un percorso completo.
Restituisce
Percorso assoluto.
Eccezioni
path
o basePath
è null
.
basePath
non è un percorso completo.
-oppure-
path
o basePath
contiene uno o più caratteri non validi definiti in GetInvalidPathChars().
Esempio
L'esempio seguente definisce una variabile, basePath
, per rappresentare la directory corrente di un'applicazione. Viene quindi passato al GetFullPath
metodo per ottenere un percorso completo alla directory dei dati dell'applicazione.
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
Commenti
Se path
è un percorso vuoto, il metodo restituisce basePath
. Se path
è un percorso completo, il metodo passa path
al GetFullPath(String) metodo e restituisce il risultato.
Utilizzare questo metodo per restituire un percorso deterministico basato su un volume e una directory rooted specificati quando si usano percorsi relativi. L'uso di un oggetto predefinito basePath
anziché basato sulla directory dell'unità corrente protegge da percorsi di file indesiderati causati da modifiche impreviste nell'unità e nella directory correnti.