Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RSS iMasters

[Resolvido] Trabalhando com diretórios e arquivos

Recommended Posts

Olá,pessoal! Hoje gostaria de mostrar e falar como trabalhar com diretório noWindows Form, usando a linguagem C#.NET. A ideia no geral é pegar um caminhoespecífico, buscar todos os diretórios e os arquivos destes diretórioslistados.

Usado: Visual Studio .NET 2010, C#.NET, Windows Form.

Foram utilizadas asclasses System.Text; System.Windows.Formse System.IO, para o devido funcionamento da aplicação.

Oprimeiro passo é definir o primeiro diretório, ou seja, o diretório principalno qual podem existir outros diretórios e arquivos. Foi criado um aplicativo do tipo Windows Formcomo exemplo:

40367.png

Dentrodo Form1.cs adicionei a variávelchamada caminho:

string caminho = @"C:TempPastaPrincipal";

Noteque, no final do valor, a variável possui a barra indicando ao código que é umdiretório. Dentro do form_load do aplicativo, comecei aescrever o restante do código. Como é um programa teste, procurei não utilizarcamadas, mas recomendo que utilize no caso de uma aplicação mais robusta.

Veja asprimeiras linhas do form_load:

private void Form1_Load(object sender, EventArgs e)

 

{

 

try

 

{

 

FileInfo TheFile = new FileInfo(caminho);

 

DirectoryInfo info = TheFile.Directory;

Aprimeira linha é onde utilizo FileInfo,pego o caminho em formato específico dentro do código e armazeno na variável TheFile. Na segunda linha, eu pego odiretório utilizando o DirectoryInfo:

DirectoryInfo info = TheFile.Directory;

Avariável info do tipo DirectoryInfo possui todas as pastasnecessárias ou diretórios do caminho indicado. Para pegar mais de um diretório,basta fazer um foreach:

foreach (var _directory in info.GetDirectories())

Noteque foi feito o foreach pegando todosos diretórios do caminho principal. O valor da variável foi armazenado dentrodo _directory. Dependendo da suanecessidade, você pode acrescentar mais funcionalidades sem qualquer problema.

O passoseguinte é simples, basta pegar todos os arquivos dentro da pasta e fazer umnovo foreach:

foreach (var _directory in info.GetDirectories())

 

{

 

//pega a lista de arquivos

 

FileInfo[] NextFile = _directory.GetFiles("*.txt");

 

 

 

foreach (var _file in NextFile)

 

{

 

//pega o nome do arquivo

 

string _nomeArquivo = _file.Name.ToString();

 

}

 

}

Note que o código anterior mostraque existe um for dentro de outro. Umé para pegar todos os diretórios, outro para pegar todos os arquivos .txt. Lembroque pode ser qualquer outro tipo de arquivo, como xml, jpg e outros mais. Dentrodo for do arquivo, deixei um exemplo no qualarmazeno o nome do arquivo em uma variável.

Deixooutras dicas de como usar try, catch, verificar linha a linha o que foi feito e sepossível usar o debug da ferramenta. Essafuncionalidade pode ser usada para copiar dados do arquivo, renomear, apagar emuito mais.

Esperoque tenha gostado e qualquer dúvida pode entrar em contato.

 

http://imasters.com.br/artigo/21980/dotnet/trabalhando-com-diretorios-e-arquivos

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.