Mostrando postagens com marcador FileWriter. Mostrar todas as postagens
Mostrando postagens com marcador FileWriter. Mostrar todas as postagens

quarta-feira, 6 de junho de 2012

Leitura e escrita de arquivos



Introdução

O principal o objectivo da dica de hoje é explicar de maneira simples e pratica como se fazer leitura e escrita em arquivos texto (.txt), utilizando o java para isso.



1. Criando arquivo

Foi criado um arquivo chamado file.txt que tem como objectivo ser utilizado para leitura e escrita. Inicialmente este arquivo está vázio como pode ser visto abaixo:


 


2. Código Java


Para explicar de maneira simples como funcionado a leitura e escrita de arquivos foi criado um projeto com o nome de Arquivo que tem duas classes:

  • ManipuladorArquivo.java 
  • Principal.java




2.1 ManipuladorArquivo.java

Classe que tem como função manipular (leitura e escrita) do arquivo txt.
Abaixo é possivel ver a classe ManipuladorArquivo.java e seus métodos.

package com.blogspot.maguscode;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class ManipuladorArquivo {
    

public static void leitor(String path) throws IOException
    {
        

BufferedReader buffRead = new BufferedReader(new     FileReader(path));
        String linha="";
       
        while(true)
        {
            if(linha!=null){
                System.out.println(linha);

            }
            else
                break;
            linha = buffRead.readLine();
        }
        buffRead.close();
    }
   
 public static void escritor(String path) throws IOException
    {

BufferedWriter buffWrite = new BufferedWriter(new         FileWriter(path));
        String linha="";
        Scanner in = new Scanner(System.in);
        System.out.println("Escreva algo: ");
        linha = in.nextLine();
        buffWrite.append(linha+"\n");
        buffWrite.close();
    }

}




2.1.1 Breve explicação

Esta classe contem dois métodos estaticos um para realizar a leitura (leitor) e outro para realizar a escrita(escritor) em arquivos txt.


2.1.2 Método leitor

O método leitor tem como parâmetro de entrada o path (url/caminho) do arquivo que será lido como pode ser visto na assinatura do método:

public static void leitor(String path) throws IOException


Esse método tem como principal objetos internos o BufferedReader que nada mais é que a classe responsável por gera o buffer que será utilizado para realizar a leitura do arquivo .txt.

BufferedReader buffRead = new BufferedReader(new      FileReader(path));


Uma parte importante deste método, responsável por exibir na tela as linhas do arquivo txt poder ser considerado o trecho do laço while que contém contém o metodo utilizado para obter o valor de uma linha (string), no exemplo utilizado o valor da linha foi atribuída a uma variável do tipo String como pode ser visto abaixo:

linha = buffRead.readLine();


2.1.3 Método escritor

O método escritor tem como parâmetro de entrada o path (url/caminho) do arquivo que será escrito como pode ser visto na assinatura do método:

public static void escritor(String path) throws IOException


Esse método tem como principal objectos internos o BufferedWriter que nada mais é que a classe responsável por gera o buffer que será utilizado para realizar a escrita no arquivo .txt.

BufferedWriter buffWrite = new BufferedWriter(new         FileWriter(path));


Uma parte importante deste método, responsável por inserir no arquivo txt é exactamente o método append localizado no objecto buffWrite, este método tem como função inserir uma nova sequência de caracteres ao arquivo texto.

buffWrite.append(linha+"\n");


2.1.4 Importante

É de suma importancia fechar os arquivos quando o método termina de utilizar os mesmo para isso basta utilizar o método close contido na classe de leitura ou escrita de arquivos.

        buffWrite.close(); ou buffRead.close();



2.2 Principal.java

Classe que tem como principal função utilizar classe ManipuladorArquivo.java.  


package com.blogspot.maguscode;

import java.io.IOException;

public class Principal {

    public static void main(String args[]) throws IOException {
        String path = "/tmp/file.txt";

        ManipuladorArquivo.escritor(path);
        ManipuladorArquivo.leitor(path);
    }

}




2.2.1 Breve explicação

A classe contém único método estatico (main) que tem como função rodar o ManipularoArquivo passando para os métodos do mesmo o path do arquivo a ser manipulado.


3. Arquivo após utilização do Projeto


Após a execução do protrama é possível visualizar a seguinte linha no arquivo.txt 

tela  do eclipse durante a execução do arquivo
 


Arquivo após execução do programa