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
Codigo\NovoArquivo.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
Codigo\NovoArquivo.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
Codigo\NovoArquivo.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
Codigo\NovoArquivo.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 StremReader e StremWriter fornece aos
desenvolvedores grandes recursos em poucas linhas de código. E para quem está
"encantado" com a 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).
Artigo desenvolvido utilizando:
*
Visual Studio .NET 2002 * .NET Framework 1.0 * Windows XP Professional
| |