Relativen Pfad einer Datei abrufen in C#
-
Abrufen des relativen Pfads einer Datei mit der Klasse
Path
inC#
-
Relativen Pfad einer Datei mit der Datei
Resources.resx
in C# abrufen
In diesem Lernprogramm werden Methoden zum Abrufen des relativen Pfads einer Datei in C# erläutert.
Abrufen des relativen Pfads einer Datei mit der Klasse Path
in C#
In diesem Tutorial werde ich über die folgende Verzeichnisstruktur sprechen.
/ MyProject / Bin Main.exe / Folder Img.jpg Main.cs
Wenn unser Programm ausgeführt wird, geschieht dies aus der Datei Main.exe
im Verzeichnis Bin
. Wir möchten unseren Code beginnend mit oder relativ zum Verzeichnis Bin
schreiben. Wir möchten auf die Datei Img.jpg
im Verzeichnis Folder
zugreifen. Dieses Problem kann leicht mit einer der folgenden Methoden gelöst werden.
Die Klasse Path
führt Operationen an Zeichenkettenvariablen aus, die Dateipfade in C# enthalten. Die Funktion Path.GetDirectoryName()
ruft die Informationen zum aktuellen Verzeichnis ab. Wir können die Funktion Assembly.GetExecutingAssembly().CodeBase
als Parameter an die Funktion Path.GetDirectoryName()
übergeben, um Informationen über das Ausgabeverzeichnis unseres Projekts abzurufen.
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
Wir können dann den resultierenden Pfad mit dem kurzen relativen Pfad zu unserer Datei Img.jpg
kombinieren, um einen relativen Pfad zu unserer Datei Img.jpg
zu erstellen.
var iconPath = Path.Combine(outPutDirectory, "Folder\\Img.jpg");
Wir können diesen neuen Pfad dann mit der Eigenschaft Uri.LocalPath
in unsere relative PfadZeichenkette konvertieren.
string icon_path = new Uri(iconPath).LocalPath;
Das folgende Codebeispiel zeigt uns, wie wir alle oben genannten Schritte in C# ausführen können.
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var iconPath = Path.Combine(outPutDirectory, "Folder\\Img.jpg");
string icon_path = new Uri(iconPath ).LocalPath;
Die Zeichenkettenvariable icon_path
ist jetzt der relative Pfad zur Datei Img.jpg
und kann verwendet werden, um das Bild während der Ausführung unseres Codes zu referenzieren.
Relativen Pfad einer Datei mit der Datei Resources.resx
in C# abrufen
Wenn wir einige externe Ressourcen haben, die wir in unserer Anwendung verwenden möchten, z. B. ein Bildsymbol, müssen wir eine resources.resx
-Datei in C# verwenden. Die Datei resources.resx
zeichnet alle von unserer Anwendung verwendeten Ressourcen auf. Nachdem wir in unserem Projekt eine Datei resources.resx
hinzugefügt und auf alle erforderlichen Ressourcen verwiesen haben, können wir mit dem Befehl Resources.Resource1
problemlos auf alle Ressourcen zugreifen. Das folgende Codebeispiel zeigt uns, wie wir den relativen Pfad einer Datei mit der Datei resources.resx
in C# ermitteln können.
using mynamespace.Properties var imgpath = Resources.img;
Die Variable imgpath
kann während der Ausführung unseres Codes in C# als Referenz auf die Datei Img.jpg
verwendet werden. Diese Methode sollte der vorherigen Methode vorgezogen werden, da sie leichter zu verstehen, einfacher zu schreiben und unser Code organisiert bleibt.
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