Aqui mostrarei como escrever algum dado em um arquivo texto através de um exemplo simples. No exemplo a seguir passo como parâmetro um objeto do tipo "Produto", que possui algumas variáveis de instância como descrição e código. São estas variáveis que vamos escrever em nosso arquivo.
É necessário que você saiba como tratar exceções na linguagem Java, mas se isso não for de seu intelecto, peço que estude esse assunto antes, pois para a utilização das classes referentes no exemplo é necessário tratar algumas exceções.
Eis o exemplo:
import java.io.*; //importa pacotes necessários onde contém as classes
import java.lang.*; //necessárias
public void escreveDados (Produto p)
{
try //esta sintaxe faz parte do tratamento de exceções
{
/*Na linha abaixo crio um objeto do tipo BufferedWriter e passo como
parâmetro um objeto do tipo FileWriter que, por sua vez, recebe
como parâmetro a localização do arquivo no HD; o nome do nosso
Buffer será "escreve".*/
BufferedWriter escreve = new BufferedWriter(new FileWriter "L:/teste"));
/*Na linha abaixo, utilizando o método "getDescricao" já previsto
anteriormente na classe Produto, atribuo a String contida na
descrição de meu produto para a variável desc.*/
String desc = p.getDescricao();
/*Na linha abaixo existe um pequeno problema: o arquivo só aceita
uma String, mas o código é um int, então temos que transformar
um Int em um String. Para isso, utilizamos o método "valueOf" da
classe String e passamos como parâmetro o código obtido através
do método getCodigo já previsto na classe Produto. Enfim,
atribuímos à String "cod" uma representação do int código.*/
String cod = String.valueOf(p.getCodigo());
/*Na linha abaixo escrevemos a String "desc" na primeira linha do
arquivo.*/
escreve.write(desc);
/*Na linha abaixo utilizamos o método "newLine" para quebra de linha
e nas próximas duas linhas escrevemos a variável "cod" e
realizamos a quebra de linha respectivamente.*/
escreve.newLine();
escreve.Write(cod);
escreve.newLine();
/*Na linha abaixo garantimos que todo o Buffer será transferido para
o arquivo através do método "flush", e na próxima linha fechamos o
arquivo utilizando o método "close".*/
escreve.flush();
escreve.close();
}
catch(IOException e) //esta sintaxe faz parte do tratamento de exceções
{
}
}
Bom, até aqui expliquei como transformar dados em String e como transferí-los para um arquivo texto (*.txt). Agora basta aprendermos como realizar a leitura do arquivo para obter os dados novamente.
A parte de leitura vem do mesmo princípio da escrita (não será abordado nenhum exemplo dessas classes neste artigo, mas em um próximo talvez), basta então você consultar os APIs Java para observar seus métodos.