Manipulando arquivos
Veja neste artigo como manipular arquivo texto no seu WebSite.
Manipulando arquivos
Ola pessoal, estarei mostrando nesse tutorial como manipular arquivos textos, com um exemplo bem funcional na qual muitas vezes necessitamos.
Começaremos com a criação de um novo WebSite (dê o nome que quiser), em seguida adicione um nova pasta ao seu WebSite chamada (Arquivos).
Adicione os seguintes controles a página Default.aspx
Label:Name: lbl_Mensagem
Label:Name: lbl_Arquivos
FileUpload: Name: fu_Upload
Listbox: Name: lb_Arquivos
Button: Name: btn_AdicionarText: Adicionar
Button: Name: btn_Remover Text: Remover
Button: Name: btn_Ler Text: Ler Arquivo
Button: Name: btn_Atualizar Text: Atualizar
Vamos à codificação
Importe o namespace:
using System.IO;
O listbox deverá carregar os arquivos do diretório Arquivos, veja o código abaixo.
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DirectoryInfo diretorio = new DirectoryInfo(Server.MapPath("Arquivos/"));
lb_Arquivos.DataSource = diretorio.GetFiles();
lb_Arquivos.DataBind();
}
}
DirectoryInfo: Obtém informações do diretório Arquivos, em seguinda definimos o DataSource do nosso ListBox com o metodo GetFiles, na qual resgata os arquivos do diretório.
Codificação do Botão: Adicionar
protected void btn_Adicionar_Click(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
if (FlUpload.HasFile)
{
FlUpload.SaveAs("Arquivos");
lblMensagem.Text = "Salvo com Sucesso";
}
else
{
lbl_Mensagem.Text = "Houve um erro";
}
}
}
Verificamos o postback da página, o método HasFile verifica se foi selecionado algum arquivo, em seguinda salvamos o arquivo na pasta Arquivos e retornamos a mensagem de sucesso ou em caso de erro retornamos um erro.
Codificação do Botão: Remover
protected void btn_Remover_Click(object sender, EventArgs e)
{
FileInfo info;
string arquivo;
arquivo = Server.MapPath("Arquivos") + "\\" +
lb_Arquivos.SelectedItem.Text;
info = new FileInfo(arquivo);
info.Delete();
lblMensagem.Text = "Arquivo Removido";
}
O objeto FileInfo não possui métodos estáticos, sendo assim apenas instanciamos e passamos um valor string que usaremos para definir o caminho dos arquivos, sendo assim atribuimos o caminho dos arquivos junto com o arquivo selecionado no LisBox. O método “Delete”, deleta o arquivo selecionado.
Codificaçao do Botão: Ler Arquivo
Adicione um controle textbox a página e dê o nome de txtLerArquivo.
protected void btn_Ler_Click(object sender, EventArgs e)
{
FileInfo info;
string arquivo;
arquivo = Server.MapPath("Arquivos") + "\\" +
lb_Arquivos.SelectedItem.Text;
info = new FileInfo(arquivo);
StreamReader reader = new StreamReader(arquivo);
txtLerArquivo.Text = reader.ReadToEnd();
lbl_Arquivo.Text = info.Name;
reader.Close();
reader.Dispose();
}
Novamente instanciamos o objeto FileInfo com o caminho do nosso diretório mais o nome do arquivo selecionado. O objeto StreamReader lê os dados de um determinado arquivo, passamos então o nome do arquivo e definimos o textbox com o arquivo selecionado, o método ReadToEnd consegue ler os arquivo, além deste há outros outros que você pode usar: (Readline, Read, entre outros). Com a propriedade Name obtemos no label o nome do arquivo
Codificação do Botão Atualizar
Para o botão atualizar
protected void btn_Atualizar_Click(object sender, EventArgs e)
{
string arquivo;
arquivo = Server.MapPath("Arquivos") + "\\" + lbl_Arquivo.Text;
StreamWriter atualiza = new StreamWriter(arquivo);
atualiza.Write(txtLerArquivo.Text);
atualiza.Close();
atualiza.Dispose();
}
Instanciamos a classe StreamWriter passando o caminho do arquivo e o nome dele, O objeto StreamWriter possue o método WRITE na qual podemos escrever no arquivo selecionado. Não se esqueça de sempre fechar os objetos.
Experimente agora implementar rotinas de tratamento de erros.
Resultado Final
Dê permissão de Escrita a sua pasta caso contrário podera ocorrer erros.
Vemos nesse artigo o quanto a classe System.IO tem a nos oferecer à facilidade de implementação. Explore essa classe que você verá que seus métodos atendem bem a necessidade do nosso dia a dia.
É isso ai pessoal.. até a próxima.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo