Path.GetDirectoryName 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
GetDirectoryName(String) |
Restituisce le informazioni sulla directory per il percorso specificato. |
GetDirectoryName(ReadOnlySpan<Char>) |
Restituisce le informazioni sulla directory per il percorso specificato rappresentato da un intervallo di caratteri. |
GetDirectoryName(String)
- Origine:
- Path.cs
- Origine:
- Path.cs
- Origine:
- Path.cs
Restituisce le informazioni sulla directory per il percorso specificato.
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
Parametri
- path
- String
Percorso di un file o di una directory.
Restituisce
Informazioni sulla directory per path
o null
se path
indica una directory radice o è Null. Restituisce Empty se path
non contiene informazioni sulla directory.
Eccezioni
.NET Framework e versioni di .NET Core precedenti alla 2.1: il path
parametro contiene caratteri non validi, è vuoto o contiene solo spazi vuoti.
La lunghezza del parametro path
è maggiore della lunghezza massima definita nel sistema.
Nota: in .NET per le app di Windows Store o nella libreria di classi portabile intercettare invece l'eccezione della classe di base, IOException, .
Esempio
L'esempio seguente illustra l'uso del GetDirectoryName
metodo in una piattaforma desktop basata su 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 ''
Commenti
Nella maggior parte dei casi, la stringa restituita da questo metodo è costituita da tutti i caratteri nel percorso fino a, ma non inclusi, gli ultimi caratteri separatori di directory. Un carattere separatore di directory può essere DirectorySeparatorChar o AltDirectorySeparatorChar. Se il percorso è costituito da una directory radice, ad esempio "c:\", null
viene restituito .
Questo metodo non supporta i percorsi che usano "file:".
Poiché il percorso restituito non include gli ultimi caratteri separatori di directory, passando di nuovo il percorso restituito nel GetDirectoryName metodo tronca un livello di cartella per ogni chiamata successiva sul percorso del risultato. Ad esempio, passando il percorso "C:\Directory\SubDirectory\test.txt" in GetDirectoryName restituisce "C:\Directory\SubDirectory". Passando il percorso "C:\Directory\SubDirectory", in GetDirectoryName restituisce "C:\Directory".
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 flusso
- Procedura: Leggere testo da un file
- Procedura: Scrivere un testo in un file
Si applica a
GetDirectoryName(ReadOnlySpan<Char>)
- Origine:
- Path.cs
- Origine:
- Path.cs
- Origine:
- Path.cs
Restituisce le informazioni sulla directory per il percorso specificato rappresentato da un intervallo di caratteri.
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)
Parametri
- path
- ReadOnlySpan<Char>
Percorso da cui recuperare le informazioni sulla directory.
Restituisce
Informazioni sulla directory per path
o un intervallo vuoto se path
è null
, un intervallo vuoto o una radice (ad esempio \, C:, o \\server\share).
Commenti
A differenza dell'overload di stringhe, questo metodo non normalizza i separatori di directory.