;

quinta-feira, 30 de dezembro de 2010

Classe IO.Directory

No último artigo vimos a classe IO.File (Classe IO.File) . Agora vamos ver a classe IO.Directory. Esta, assim como a classe File, também é uma classe estática que não pode ser instanciada. Em outras palavras, você não precisa, e não deve, criar um objeto desta classe para utilizar seus métodos.

A classe Directory expõe métodos estáticos para criação e manipulação de diretórios, subdiretórios e arquivos contidos nestes. A seguir temos um exemplo de uso dos principais métodos desta classe. Todos os métodos estão devidamente comentados.

string strCaminho = "C:\\Teste";
List<string> listaSubPastas = new List<string>();
List<string> listaArquivos = new List<string>();

//Verifica se a pasta “C:\Teste” existe
if (!Directory.Exists(strCaminho))
{
    //Cria a pasta
    Directory.CreateDirectory(strCaminho);
}

//GetDirectories retorna a lista de pastas contidas no diretório
//passado por parâmetro
listaSubPastas.AddRange(Directory.GetDirectories(strCaminho));

//GetFiles retorna a lista de arquivos contidas no diretorio passado
//por parâmetro
listaArquivos.AddRange(Directory.GetFiles(strCaminho));

//Tanto no GetFiles quanto no GetDiretoties podemos passar um
//parâmetro string para definir um padrão de pesquisa e outro
//parâmetro para definir se esta busca deve ser feita na raiz do
//diretótio ou se deve buscar os subdiretórios, recursivamente

listaArquivos.AddRange(Directory.GetFiles(strCaminho, "*.txt", SearchOption.AllDirectories));

//Retorna o diretório no qual strCaminho está contido
DirectoryInfo dirPai = Directory.GetParent(strCaminho);

//Move a pasta ou arquivo strCaminho para "C:\NovaPasta".
//Se o primeiro parâmetro for um nome de arquivo, o segundo também
//deve ser

Directory.Move(strCaminho, "C:\\NovaPasta");

//Deleta a pasta criada. Se o segundo argumento é igual a true
//significa que queremos apagar também as pastas e arquivos contidos
//nesta.
Directory.Delete("E:\\NovaPasta", true);

Não coloquei a versão do código em VB.NET porque é muito parecido. Mas se tiverem dúvidas, fiquem a vontade para perguntar.

Se quiserem saber mais sobre a classe IO.Directory, acessem http://msdn.microsoft.com/en-us/library/system.io.directory%28v=VS.90%29.aspx.

0 comentários:

Postar um comentário