Obtenha o caminho relativo de um arquivo em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Obtenha o caminho relativo de um arquivo com a classe Path em C#
  2. Obtenha o caminho relativo de um arquivo com o arquivo Resources.resx em C#
Obtenha o caminho relativo de um arquivo em C#

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.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

Artigo relacionado - Csharp Path

Artigo relacionado - Csharp File