Trabalhando com Arquivos


Frequentemente necessitamos trabalhar com arquivos, sejam eles “*.txt”, “*.xml”, “.csv”, etc. Nesse artigo mostrarei como fazemos para criar, excluir, ler arquivos e diretórios a partir de uma Aplicação Web (ASP.NET).

Separarei por tópicos, onde cada um abordará sobre um assunto. Começaremos pelo Diretórios:

Criando um Diretório


1
2
 
Dim dir As System.IO.Directory
dir.CreateDirectory(“C:Artigos Linha de Codigo”)
 
Código 1 – Criando um Diretório.

Basta criarmos uma variável do tipo System.IO.Directory e executar a função CreateDirectory passando o caminho e nome do diretório a ser criado.

Excluindo um Diretório


1
2
3
4
 
Dim dir As System.IO.Directory
If dir.Exists(“C:Artigos Linha de Codigo”) Then
    dir.Delete(“C:Artigos Linha de Codigo”)
End If
 
Código 2 – Excluindo um Diretório.

É sempre boa prática antes de chamarmos a Sub Delete verificarmos se o diretório existe ou não. Para isso utilize a Function Exists do objeto Directory, que retornará um valor boleano indicando se existe ou não o diretório especificado.

Listando Arquivos e SubDiretórios


1
2
3
4
5
6
7
8
9
10
11
 
Dim dir As New System.IO.DirectoryInfo(“C:Artigos Linha de Codigo”)
Dim subdir As System.IO.DirectoryInfo
Dim arq As System.IO.FileInfo
 
For Each subdir In dir.GetDirectories
    Response.Write(subdir.Name & “<br>”)
Next
 
For Each arq In dir.GetFiles(“*.*”)
    Response.Write(arq.Name & “<br>”)
Next
 
Código 3 – Listando Arquivos e SubDiretórios.

No Código 3 chamo a atenção para a Linha 9. Como o método GetFiles é sobrecarregado, podemos especificar qual o tipo de arquivos queremos listar. No exemplo acima, optei por mostrar todos os arquivos. Se quisessemos exibir apenas arquivos “*.txt”, poderíamos fazer: GetFiles(“*.txt*”).

Vamos agora as operações que podemos realizar com os arquivos.

Criando um Arquivo


1
2
 
Dim arq As New System.IO.FileInfo(“C:Artigos Linha de CodigoNovoArquivo.txt”)
arq.Create()
 
Código 4 – Criando um arquivo.

Escrevendo em um Arquivo


1
2
3
4
5
6
 
Dim strTexto As String = “Israel Aéce.” & System.Environment.NewLine
strTexto =& “Email: israel@projetando.net”
 
Dim stream As New System.IO.StreamWriter(“C:Artigos Linha de CodigoNovoArquivo.txt”)
stream.WriteLine(strTexto)
stream.Close()
 
Código 5 – Escrevendo em um arquivo.

Na instância do StreamWriter já informamos o caminho e o nome do arquivo que deverá ser escrito. Depois chamamos o método WriteLine e passamos a variável “strTexto” para que que ela seja escrita no arquivo.

Excluindo um Arquivo


1
2
3
4
 
Dim arq As New System.IO.FileInfo(“C:Artigos Linha de CodigoNovoArquivo.txt”)
If arq.Exists Then
    arq.Delete()
End If
 
Código 6 – Excluindo um arquivo.

Aqui fazemos da mesma forma qual fizemos para os Diretórios, ou seja, antes de excluirmos verificamos se o arquivo existe. Caso positivo, chamamos o método Delete().

Lendo Arquivos


1
2
3
 
Dim reader As New StreamReader(“C:Artigos Linha de CodigoNovoArquivo.txt”)
Response.Write(reader.ReadToEnd)
reader.Close()
 
Código 7 – Lendo Arquivos.

Utilizando o método ReadToEnd da classe StreamReader não precisamos fazer um loop para percorrer todo o arquivo.

Bem, é importante lembrar que nesse artigo quero apenas dar exemplos de “como fazer para…”. É extremamente importante utilizarmos os tratamentos de erros (Try…Catch…Finally) para executar as rotinas acima, pois não sabemos se os arquivos e/ou diretórios existem ou não, se temos permissão para executar, etc.

CONCLUSÃO: A Plataforma .NET nos trouxe uma grande facilidade na manipulação de arquivos. Sejam eles “*.txt”, “*.xml”, etc. Além de prático as classes como StreamReader e StreamWriter fornece aos desenvolvedores grandes recursos em poucas linhas de código. E para quem está “encantado” na facilidade, espere até conhecer as “My” do Visual Studio .NET Whidbey (http://download.microsoft.com/download/c/7/f/c7f7a575-79ac-4399-9535-3ed57bc292f2/mynamespace.doc).

Anúncios

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s