Caminho C#

Resumo : neste tutorial, você aprenderá como usar a Pathclasse C# para interagir com os caminhos de arquivos e diretórios.

Introdução à classe C# Path

A Pathclasse faz parte do System.IOnamespace no .NET. A Pathclasse fornece um conjunto de métodos estáticos úteis para trabalhar com arquivo e diretório Path.

Obtendo o nome do arquivo

Para obter o nome do arquivo de um caminho, você usa o GetFileName()método:

using static System.Console;

string path = @"C:\temp\readme.txt";
string fileName = Path.GetFileName(path);

WriteLine(fileName);Linguagem de código:  C#  ( cs )

Saída:

readme.txtLinguagem de código:  C#  ( cs )

Obtendo o nome do diretório

Para obter o nome do diretório do caminho, você usa o GetDirectoryName()método:

using static System.Console;

string path = @"C:\temp\readme.txt";
string dirname = Path.GetDirectoryName(path);

WriteLine(dirname);Linguagem de código:  C#  ( cs )

Saída:

C:\tempLinguagem de código:  C#  ( cs )

Obtendo o caminho absoluto

Para obter o caminho absoluto de um caminho especificado, você usa o GetFullPath()método:

using static System.Console;

string relativePath = @"..\..\readme.txt";
string fullPath = Path.GetFullPath(relativePath);

WriteLine(fullPath);Linguagem de código:  C#  ( cs )

Saída:

C:\project\bin\readme.txtLinguagem de código:  C#  ( cs )

Combinando caminhos

Para combinar duas ou mais strings em um caminho, você usa o Combine()método:

using static System.Console;

string directory = @"C:\temp";
string fileName = "readme.txt";
string fullPath = Path.Combine(directory, fileName);

WriteLine(fullPath);Linguagem de código:  C#  ( cs )

Saída:

C:\temp\readme.txtLinguagem de código:  C#  ( cs )

Obtendo extensão de arquivo

Para obter a extensão do arquivo de um caminho, você usa o GetExtension()método:

using static System.Console;

string path = @"C:\temp\readme.txt";
string extension = Path.GetExtension(path);

WriteLine(extension);Linguagem de código:  C#  ( cs )

Saída:

.txtLinguagem de código:  CSS  ( css )

Criando um nome de arquivo temporário exclusivo

Para criar um arquivo temporário com  extensão .tmp  e retornar o caminho para ele, você usa o GetTempFileName()método. Por exemplo:

using static System.Console;

string tempFileName = Path.GetTempFileName();

WriteLine(tempFileName);Linguagem de código:  C#  ( cs )

O método cria um arquivo temporário exclusivo no diretório temporário do usuário atual. Por exemplo, no Windows, ele gera o seguinte:

C:\Users\username\AppData\Local\Temp\tmpC430.tmpLinguagem de código:  C#  ( cs )

Este usernameé o seu usuário atual do Windows.

Obtendo um caminho de diretório temporário do usuário atual

Para obter o caminho temporário do usuário atual, você usa o GetTempPath()método. Por exemplo:

using static System.Console;

string tempDir = Path.GetTempPath();
WriteLine(tempDir);Linguagem de código:  C#  ( cs )

Exemplo de saída no Windows:

C:\Users\username\AppData\Local\Temp\Linguagem de código:  C#  ( cs )

Alterando a extensão do caminho

O ChangeExtension()método altera a extensão do arquivo de um caminho. O programa a seguir usa o ChangExtension()método para alterar .txtpara .csv:

using static System.Console;

string path = @"C:\temp\readme.txt";
string newExtension = ".csv";
string newPath = Path.ChangeExtension(path, newExtension);

WriteLine(newPath);Linguagem de código:  C#  ( cs )

Verificando se um caminho contém uma extensão de arquivo

O HasExtensionmétodo retorna truese um caminho contém uma extensão de arquivo ou falsecaso contrário:

using static System.Console;

string path = @"C:\temp\readme.txt";
bool hasExtension = Path.HasExtension(path);

WriteLine(hasExtension);Linguagem de código:  C#  ( cs )

Saída:

TrueLinguagem de código:  C#  ( cs )

Resumo

Método Resultado
Path.GetFileName("C:\temp\readme.txt") readme.txt
Path.GetDirectoryName("C:\temp\readme.txt") C:\temp
Path.GetFullPath("..\..\readme.txt") C:\project\bin\readme.txt
Path.Combine(@"C:\temp", "readme.txt") C:\temp\readme.txt\
Path.GetExtension(@"C:\temp\readme.txt") .txt
Path.GetTempFileName() C:\Users\username\AppData\Local\Temp\tmpC430.tmp
Path.GetTempPath() C:\Users\username\AppData\Local\Temp\
Path.ChangeExtension(@"C:\temp\readme.txt", ".csv") C:\temp\readme.csv
Path.HasExtension(@"C:\temp\readme.txt") True

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *