Ottieni percorso relativo di un file in C#
-
Ottieni il percorso relativo di un file con la classe
Path
inC#
-
Ottieni il percorso relativo di un file con il file
Resources.resx
inC#
Questo tutorial discuterà i metodi per ottenere il percorso relativo di un file in C#.
Ottieni il percorso relativo di un file con la classe Path
in C#
Per questo tutorial, parlerò della seguente struttura di directory.
/ MyProject / Bin Main.exe / Folder Img.jpg Main.cs
Quando il nostro programma viene eseguito, lo fa dal file Main.exe
all’interno della directory Bin
. Vogliamo scrivere il nostro codice a partire da o relativo alla directory Bin
. Vogliamo accedere al file Img.jpg
all’interno della directory Folder
. Questo problema può essere facilmente gestito con uno dei seguenti metodi.
La classe Path
esegue operazioni sulle variabili di stringhe contenenti percorsi di file in C#. La funzione Path.GetDirectoryName()
ottiene le informazioni sulla directory corrente. Possiamo passare Assembly.GetExecutingAssembly().CodeBase
come parametro alla funzione Path.GetDirectoryName()
per ottenere informazioni sulla directory di output del nostro progetto.
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
Possiamo quindi combinare il percorso risultante con il percorso relativo breve al nostro file Img.jpg
per creare un percorso relativo al nostro file Img.jpg
.
var iconPath = Path.Combine(outPutDirectory, "Folder\\Img.jpg");
Possiamo quindi convertire questo nuovo percorso nella nostra stringa di percorso relativo con la proprietà Uri.LocalPath
.
string icon_path = new Uri(iconPath).LocalPath;
L’esempio di codice seguente mostra come eseguire tutti i passaggi sopra menzionati in C#.
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var iconPath = Path.Combine(outPutDirectory, "Folder\\Img.jpg");
string icon_path = new Uri(iconPath ).LocalPath;
La variabile stringa icon_path
è ora il percorso relativo al file Img.jpg
e può essere utilizzata per fare riferimento all’immagine durante l’esecuzione del nostro codice.
Ottieni il percorso relativo di un file con il file Resources.resx
in C#
Quando abbiamo alcune risorse esterne che vogliamo utilizzare nella nostra applicazione, come un’icona di immagine, dobbiamo utilizzare un file resources.resx
in C#. Il file resources.resx
funziona come un record di tutte le risorse utilizzate dalla nostra applicazione. Dopo aver aggiunto un file resources.resx
nel nostro progetto e aver fatto riferimento a tutte le risorse richieste, possiamo accedere facilmente a tutte le risorse con il comando Resources.Resource1
. Il seguente esempio di codice ci mostra come ottenere il percorso relativo di un file con il file resources.resx
in C#.
using mynamespace.Properties var imgpath = Resources.img;
La variabile imgpath
può essere utilizzata come riferimento al file Img.jpg
durante l’esecuzione del nostro codice in C#. Questo metodo dovrebbe essere preferito al metodo precedente perché è più facile da capire, più semplice da scrivere e mantiene il nostro codice organizzato.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn