Como pegar extensão e nome de um arquivo no C#?
Pare de tentar criar algoritmos para pegar coisas como a extensão, nome e directório de um arquivo! No C# existe a class Path que facilita essas tarefas, veja como:Pegar a extensão do arquivo
Primeira coisa a fazer adicionar o namespace onde a class Path se encontra. Para isso basta definir
using System.IO;
Nesta publicação teremos como exemplo o seguinte arquivo:
C:\Users\YAGAMI\Documents\Projects vs2015\BitCoinX2\wallets.txt
string arquivo = @"C:\Users\YAGAMI\Documents\Projects vs2015\BitCoinX2\wallets.txt";
string extensao = Path.GetExtension(arquivo);
Console.WriteLine(extensao);
//Saída: .txt
Pegar o nome do arquivo com a extensão
string nome = Path.GetFileName(arquivo);
Console.WriteLine(nome);
//Saída: wallets.txt
Pegar o nome do arquivo sem extensão
nome = Path.GetFileNameWithoutExtension(arquivo);
Console.WriteLine(nome);
//Saída: wallets
Pegar o directório do arquivo
string directorio = Path.GetDirectoryName(arquivo);
Console.WriteLine(directorio);
//Saída: C:\Users\YAGAMI\Documents\Projects vs2015\BitCoinX2
Bónus # Como pegar a unidade ou root do arquivo?
string unidade = Path.GetPathRoot(arquivo);
Console.WriteLine(unidade);
//Saída: C:\
Concluindo...
string arquivo = @"C:\Users\YAGAMI\Documents\Projects vs2015\BitCoinX2\wallets.txt";
string extensao = Path.GetExtension(arquivo);
string nome = Path.GetFileName(arquivo);
nomeNoExtension = Path.GetFileNameWithoutExtension(arquivo);
string directorio = Path.GetDirectoryName(arquivo);
string unidade = Path.GetPathRoot(arquivo);
Console.WriteLine({0}\n{1}\n{2}\n{3}\n{4}\n{5}, arquivo,
extensao,
nome,
nomeNoExtension,
directorio,
unidade);
//Saída: C:\Users\YAGAMI\Documents\Projects vs2015\BitCoinX2\wallets.txt
// .txt
// wallets.txt
// wallets
// C:\Users\YAGAMI\Documents\Projects vs2015\BitCoinX2
// C:\
Não esqueça de definir using System.IO;
Forte abraço!
0 comentários:
Enviar um comentário