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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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).
Curtir isso:
Curtir Carregando...