Obtenir le chemin relatif d'un fichier en C#
-
Obtenir le chemin relatif d’un fichier avec la classe
Path
enC#
-
Obtenir le chemin relatif d’un fichier avec le fichier
Resources.resx
enC#
Ce didacticiel abordera les méthodes permettant d’obtenir le chemin relatif d’un fichier en C#.
Obtenir le chemin relatif d’un fichier avec la classe Path
en C#
Pour ce tutoriel, je parlerai de la structure de répertoires suivante.
/ MyProject / Bin Main.exe / Folder Img.jpg Main.cs
Lorsque notre programme s’exécute, il le fait à partir du fichier Main.exe
dans le répertoire Bin
. Nous voulons écrire notre code à partir ou par rapport au répertoire Bin
. Nous voulons accéder au fichier Img.jpg
dans le répertoire Folder
. Ce problème peut être facilement traité par l’une des méthodes suivantes.
La classe Path
effectue des opérations sur des variables de chaînes contenant des chemins de fichiers en C#. La fonction Path.GetDirectoryName()
récupère les informations sur le répertoire courant. Nous pouvons passer la fonction Assembly.GetExecutingAssembly().CodeBase
comme paramètre à la fonction Path.GetDirectoryName()
pour obtenir des informations sur le répertoire de sortie de notre projet.
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
On peut alors combiner le chemin résultant avec le chemin relatif court vers notre fichier Img.jpg
pour créer un chemin relatif vers notre fichier Img.jpg
.
var iconPath = Path.Combine(outPutDirectory, "Folder\\Img.jpg");
Nous pouvons ensuite convertir ce nouveau chemin en notre chaîne de chemin relative avec la propriété Uri.LocalPath
.
string icon_path = new Uri(iconPath).LocalPath;
L’exemple de code suivant nous montre comment nous pouvons effectuer toutes les étapes mentionnées ci-dessus en C#.
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var iconPath = Path.Combine(outPutDirectory, "Folder\\Img.jpg");
string icon_path = new Uri(iconPath ).LocalPath;
La variable chaîne icon_path
est maintenant le chemin relatif du fichier Img.jpg
et peut être utilisée pour référencer l’image tout au long de l’exécution de notre code.
Obtenir le chemin relatif d’un fichier avec le fichier Resources.resx
en C#
Lorsque nous avons des ressources externes que nous voulons utiliser dans notre application, comme une icône d’image, nous devons utiliser un fichier resources.resx
en C#. Le fichier resources.resx
fonctionne comme un enregistrement de toutes les ressources utilisées par notre application. Une fois que nous avons ajouté un fichier resources.resx
dans notre projet et référencé toutes les ressources nécessaires, nous pouvons facilement accéder à toutes les ressources avec la commande Resources.Resource1
. L’exemple de code suivant nous montre comment obtenir le chemin relatif d’un fichier avec le fichier resources.resx
en C#.
using mynamespace.Properties var imgpath = Resources.img;
La variable imgpath
peut être utilisée comme référence au fichier Img.jpg
tout au long de l’exécution de notre code en C#. Cette méthode doit être préférée à la méthode précédente car elle est plus facile à comprendre, plus simple à écrire et maintient notre code organisé.
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