Galera, olha ai uma dica para quem nunca trabalhou com arquivos em java.
Esse programinha simples, faz um arquivo log, bons estudos:
/**
*
*/
package src;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* Essa classe cria um arquivo ou adiciona a mensagem no mesmo
* Só pricisa ser chamado o método adicionar logo.
* @author pacto4
* @author Luiz Pedro [email removido]
*
*/
public class LogPDF {
final static String ARQUIVO_LOG = "src/log/log.txt";
final static String ERRO[] = { " *INTERESSADO NÃO ENCONTRADO!",
" *ASSUNTO NÃO ENCONTRADO!", " *SOLICITA NÃO ENCONTRADO!",
" *PROCESSO Nº NÃO ESTÁ REFERENCIANDO INTERESSADO!",
" *(CNPJ) NÃO ENCONTRADO!" };
/**
* @param arquivo, o caminho e nome do arquivo
* @param str a mensagem que deseja botar no log
*/
public static void adicionarLog(String arquivo, String str) {
int linha = 1;
Date date = new Date();
// para gravação de texto...
try {
// para adicionar, o construtor do FileWriter() tem que ser diferente
// 'FileWriter(arquivo,true)' e não 'FileWriter(arquivo,false)'
FileWriter fwj = new FileWriter(arquivo, true);
BufferedWriter bwj = new BufferedWriter(fwj);
// para leitura do arquivo
FileReader frj = new FileReader(arquivo);
BufferedReader brj = new BufferedReader(frj);
// analizando quantas linhas já existe no log
@SuppressWarnings("unused")
String linhaAtual = null;
while ((linhaAtual = brj.readLine()) != null) {
linha++;
}
// escrevendo no arquivo
bwj.write("[" + linha + "]..: [" + getDataString(date) + "#"
+ getHoraString(date) + "] " + str);
bwj.write("\n");
// fechando os objetos de leitura e escrita
brj.close();
bwj.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param atual
* @return data para o Formato String dd/mm/aaaa
*/
public static String getDataString(Date atual) {
DateFormat df = DateFormat.getDateInstance();
String s = df.format(atual);
return " " + s;
}
/**
* @param atual
* @return hora para o Formato String HH:mm:ss
* @throws FileNotFoundException
*/
public static String getHoraString(Date data) {
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
return formatter.format(data);
}
}