NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosNet : Arquivosediretorios001
Quer receber novidades e e-books gratuitos?

Trabalhando com Arquivos e Diretórios – Parte I

Olá Pessoal.

Estaremos dando início hoje a mais uma seqüência de tutorias. Desta vez iremos aprender algumas maneiras de trabalhar com arquivos e diretórios onde um possível WebSite esteja hospedado.

O Namespace System.IO implementa diversas classes, onde de forma simples, conseguimos executar procedimentos costumeiros de um sistema operacional. Nesta seqüência iremos abordar algumas destas diversas classes.

Abra um novo projeto e dê a ele o nome de Diretorios_Arquivos. Utilizaremos a linguagem VB.Net, mas poderá ser feitos em C# ou J# tranquilamente.

O nosso primeiro desafio será listar os subdiretórios do diretório raiz do site, no caso o wwwroot.

Apague o arquivo WebForm1.aspx e crie um novo chamado ListagemDeDiretorios.aspx

Abra o arquivo criado acima, e insira um controle do tipo DataGrid com o nome dgDiretorios. Fique à vontade para formatá-lo.

Iremos popular este DataGrid com os nomes e outros atributos dos subdiretórios que iremos listar. Qualquer outro objeto que suporte o DataBindings pode ser usado, exemplo o ListBox ou o DataList.

Optei pelo DataGrid porque ele têm por característica a possibilidade de gerar as colunas automaticamente. Assim, logo se precisar mostrar apenas um dos atributos dos diretórios listados, já saberei qual nome referenciar.

Já podemos agora desenvolver o código para listar os subdiretórios. Clique no botão View Code e digite o seguinte trecho de código:

Private Sub ListarDiretorios()

        Dim dir As New DirectoryInfo("C:\Inetpub\wwwroot")

        dgDiretorios.DataSource = Dir.GetDirectories()

        dgDiretorios.DataBind()

    End Sub

Chame esta rotina no Page_load:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ListarDiretorios()

    End Sub

Vamos conferir o resultado:

Vejam que o DataGrid exibe informações detalhadas sobre cada diretório listado.

Bem, agora que já sabemos o nome dos atributos que podemos referenciar, vamos ao seguinte desafio:

“Temos um ListBox populado com todos os Subdiretórios da pasta wwwroot. Ao lado temos um TexBox com um botão chamado CriarDiretório e mais um Label para emitir a mensagem de confirmação do comando. Acho que deu para imaginar a interface, certo? Crie um novo WebForm chamado CriandoDiretorios.aspx e  acompanhe a imagem abaixo:

Para acompanhar esta aplicação você deve inserir os seguintes WebControls:

ListBox – ID=lstDiretorios.

Label – ID=lblResposta.

TextBox – ID=txtNome

Button – ID=btnCriar – Text=Criar Diretório.

O código deverá popular a lista de subdiretórios inicialmente, digite o código a seguir:

Private Sub PopularSubDiretorios()

        Dim dir As New DirectoryInfo("C:\Inetpub\wwwroot")

        lstDiretorios.DataTextField = "Name"

        lstDiretorios.DataSource = dir.GetDirectories()

        lstDiretorios.DataBind()

    End Sub

Chame este procedimento no Page_load da seguinte forma:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        If Not Page.IsPostBack Then

            PopularSubDiretorios()

        End If

    End Sub

O próximo passo é criar o código para a criação do diretório, e neste trecho de código algumas validações deveram ser feitas para que não gere possíveis erros. Digite o código a seguir:

Private Sub CriarSubDiretorio()

        'Verificando se algum subdiretório foi selecionado.

        If lstDiretorios.SelectedIndex < 0 Then

            lblResposta.Text = "Nenhum Subdiretório foi selecionado!"

        Else

            'Verificando se o nome do novo diretório foi digitado

            If txtNome.Text = String.Empty Then

                lblResposta.Text = "Nenhum nome para o novo diretório foi digitado!"

            Else

                'Após todas as verificações, o diretório é criado

                Dim dir As New DirectoryInfo("C:\Inetpub\wwwroot")

                'O método CreateSubdirectory é quem cria o novo subdiretório

                dir.CreateSubdirectory(lstDiretorios.SelectedItem.Text & "/" & txtNome.Text)

                lblResposta.Text = "O novo diretório foi criado!"

                txtNome.Text = String.Empty

            End If

        End If

    End Sub

Comentando um pouco sobre o código acima...

Após todas as validações serem feitas, usamos o método CreateSubdirectory para criar o subdiretório. Como argumento, passamos o nome do subdiretório que irá armazenar o novo diretório mais o nome do novo diretório.

Vejam que com poucas linhas de código, criamos uma aplicação extremamente útil e que em qualquer outro ambiente de programação para a Web levaria um boa carga de código de tempo de desenvolvimento.

Isto prova mais uma vez, que a grande aposta da Microsoft na arquitetura .Net está voltada para a produção e segurança.

Só para garantir, vamos testar:

Teste sem selecionar o Subdiretório

Teste sem digitar o nome do novo diretório

Digitando o  nome....

Diretório criado com sucesso...

Veja ele aí....

Valeu pessoal,

Na próxima tem muito mais...

Lano de Castro

lanodecastro@hotmail.com

1 Visão geral do .NET Framework e do CLR
1 Comunicação .NET e VB 6.0 (com Visual Studio.NET 2005) - Parte I
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 1
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 2
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 3
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 4
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 5
1 VB: Menu Principal, Menu PopUp e Arquivos Texto
Visual Studio
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control
1 Visual Web Developer - 2005 - Beta 2 - Introdução
1 ASP.NET 2.0 - Conhecendo o GridView
1 ASP.NET 2.0 - Utilizando o GridView e DetailsView
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control - Parte 2
1 ASP.NET 2.0 - Utilizando o XmlDataSource
1 Envio de e-mail através de formulário web
1 ADO.NET 2.0 - Conhecendo as novidades parte 1
1 Série Visual Source Safe - Parte 1
1 Série Visual Source Safe - Parte 3
1 URL Indexável – Reescrever URL de uma forma amigável
1 Permissão de Página Utilizando Web.Config
1 Usando public interface
1 Trabalhando com o componente TabContainer
1 Adicionando Menu no DataGridView
ASP.NET
1 Conhecendo o ambiente integrado do WebMatrix
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte I
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte II
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte III
1 Acessando um banco de dados facilmente com ADO.Net e Datagrid
1 Desvendando os segredos do Dataset- Parte I
1 Construindo um Sistema de Publicação de Notícias – Parte 1
1 Construindo um Sistema de Publicação de Notícias – Parte 2
1 Construindo um Sistema de Publicação de Notícias – Parte 3
1 Construindo um Sistema de Publicação de Notícias – Parte 4
1 Construindo um Sistema de Publicação de Notícias – Parte 5
1 Login com Perfil de Acesso
1 Guest Book com XML - Parte 1
1 Guest Book com XML - Parte 2
1 Agendando Datas no Calendário com XML
1 Filtrando e Organizando Dados com o Controle DataView
1 Lista de Dados com Subitens – Parte 1
1 Lista de Dados com Subitens – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 1
1 Trabalhando com Arquivos e Diretórios – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 3
1 Sistema de Enquetes baseado em WebServices – Parte 1
1 Sistema de Enquetes baseado em WebServices – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 3
1 Upload de Arquivos
1 Crie seu próprio código de verificação
1 Login e Senha com FormsAuthentication – Parte 1
1 Login e Senha com FormsAuthentication – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 4
1 Sistema de Enquetes baseado em WebServices – Parte 5
1 Sistema de Enquetes baseado em WebServices – Parte 6