Elaborare stringhe contenenti percorsi di file e cartelle

di Riccardo Golia, in UserScript, ASP.NET, System.IO,

Un percorso (o path) è una stringa che fornisce la posizione di un file o di una cartella, indipendentemente dal fatto che questa esista realmente sul disco. Esistono due tipi di percorsi: assoluti e relativi.
I path assoluti specificano completamente la posizione: il file o la cartella sono identificati univocamente, indipendentemente dalla posizione corrente.
I percorsi relativi specificano una posizione in modo parziale in quanto la posizione corrente viene utilizzata come punto iniziale. Il formato di un path dipende dalla piattaforma a cui è riferito: per esempio, in alcuni sistemi, un percorso può iniziare con la lettera che identifica l'unità o il volume, mentre in altri casi la lettera non è presente. Altri elementi che possono variare a seconda della piattaforma sono la lunghezza delle estensioni dei file piuttosto che il carattere di separazione dei vari elementi di un percorso.

Per gestire i percorsi di file e cartelle, nel .NET Framework esiste la classe System.IO.Path. Questa classe esegue operazioni sulle istanze String (stringhe di percorso) che contengono informazioni sul percorso di file o cartelle. Queste operazioni possono essere eseguite su diverse piattaforme. Tutti i membri della classe Path sono statici e possono essere richiamati senza generare l'istanza di un percorso. La maggior parte dei membri della classe Path non interagisce con il file-system e non verifica l'esistenza del file specificato da una stringa di percorso. Peraltro i contenuti della stringa specificata vengono convalidati e viene generata un'eccezione di tipo ArgumentException, nel caso in cui la stringa contenga caratteri non validi.

Come è riportato negli esempi di seguito, alcuni dei metodi esposti dalla classe Path permettono di fare il parsing di una stringa di percorso e di ottenerne gli elementi costitutivi (nome del file, nome della cartella, estensione) in modo molto semplice ed immediato.

Dim absoluteFilePath As String = "c:\aspitalia\scripts\ricky.txt"
Dim absoluteFolderPath As String = "c:\aspitalia\scripts"
Dim relativeFolderPath As String = "scripts"

' extension vale "txt"
Dim extension As String = System.IO.Path.GetExtension(absoluteFilePath)

' fullPath vale "c:\aspitalia\scripts" se la posizione corrente è "c:\aspitalia"
Dim fullPath As String = System.IO.Path.GetFullPath(relativeFolderPath)

' fileName1 vale "ricky.txt"
Dim fileName1 As String = System.IO.Path.GetFileName(absoluteFilePath)

' fileName2 vale "ricky"
Dim fileName2 As String = System.IO.Path.GetFileNameWithoutExtension(absoluteFilePath)

' directoryName vale "scripts"
Dim directoryName As String = System.IO.Path.GetDirectoryName(absoluteFolderPath)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi