Obtenha o caminho relativo de um arquivo em C#
-
Obtenha o caminho relativo de um arquivo com a classe
Path
emC#
-
Obtenha o caminho relativo de um arquivo com o arquivo
Resources.resx
emC#
Este tutorial discutirá métodos para obter o caminho relativo de um arquivo em C#.
Obtenha o caminho relativo de um arquivo com a classe Path
em C#
Para este tutorial, falarei sobre a seguinte estrutura de diretório.
/ MyProject / Bin Main.exe / Folder Img.jpg Main.cs
Quando nosso programa é executado, ele o faz a partir do arquivo Main.exe
dentro do diretório Bin
. Queremos escrever nosso código começando ou relativo ao diretório Bin
. Queremos acessar o arquivo Img.jpg
dentro do diretório Folder
. Esse problema pode ser facilmente resolvido por um dos seguintes métodos.
A classe Path
executa operações em variáveis de strings contendo caminhos de arquivo em C#. A função Path.GetDirectoryName()
obtém as informações sobre o diretório atual. Podemos passar o Assembly.GetExecutingAssembly().CodeBase
como um parâmetro para a função Path.GetDirectoryName()
para obter informações sobre o diretório de saída de nosso projeto.
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
Podemos então combinar o caminho resultante com o caminho relativo curto para nosso arquivo Img.jpg
para criar um caminho relativo para nosso arquivo Img.jpg
.
var iconPath = Path.Combine(outPutDirectory, "Folder\\Img.jpg");
Podemos então converter esse novo caminho em nossa string de caminho relativo com a propriedade Uri.LocalPath
.
string icon_path = new Uri(iconPath).LocalPath;
O exemplo de código a seguir nos mostra como podemos executar todas as etapas mencionadas acima em C#.
var outPutDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);
var iconPath = Path.Combine(outPutDirectory, "Folder\\Img.jpg");
string icon_path = new Uri(iconPath ).LocalPath;
A variável string icon_path
agora é o caminho relativo para o arquivo Img.jpg
e pode ser usada para referenciar a imagem durante a execução do nosso código.
Obtenha o caminho relativo de um arquivo com o arquivo Resources.resx
em C#
Quando temos alguns recursos externos que queremos usar em nossa aplicação, como um ícone de imagem, temos que utilizar um arquivo resources.resx
em C#. O arquivo resources.resx
funciona como um registro de todos os recursos que nosso aplicativo usa. Depois de adicionar um arquivo resources.resx
em nosso projeto e fazer referência a todos os recursos necessários, podemos acessar facilmente todos os recursos com o comando Resources.Resource1
. O exemplo de código a seguir nos mostra como podemos obter o caminho relativo de um arquivo com o arquivo resources.resx
em C#.
using mynamespace.Properties var imgpath = Resources.img;
A variável imgpath
pode ser usada como referência para o arquivo Img.jpg
durante a execução do nosso código em C#. Este método deve ser preferido em relação ao método anterior porque é mais fácil de entender, mais simples de escrever e mantém nosso código organizado.
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