Boa noite, estou fazendo um Colecionador de Agendas com interface gráfica, esse colecionador guarda vários objetos do tipo agenda. Como no meu package eu tenho muitas classes que acessam as informações de Colecionador de Agenda, implementei essa classe armazendo variaveis static e todos os seu metodos também são static. A medida que são feitas modificações na classe Colecionador de Agendas eu vou mudando as suas variáveis, atribuindo outros valores. No entanto eu quero guardar essas modificações para a próxima vez que eu executar Colecionador de Agendas, estou usando a interface Serializable e guardando em um arquivo. O arquivo é criado mais ele não muda os valores da classe. Como posso fazer para manter minhas modificações?
Esses metodos são os que eu uso para ler ou escrever no arquivo. A minha classe Colecionador de Arquivos na verdade se chama BancoDeDados e posseui um construtor default.
[code]
private static void escreveArquivoObjeto(String nome, BancoDeDados agendaas) throws IOException{
System.out.println(“metodo escreve arqi”);
ObjectOutputStream out = null;
boolean openOut = false;
try{
out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(nome)));
openOut = true;
out.writeObject(agendaas);
System.out.println("consegue escrever");
}catch(IOException e){
System.err.println(e.getMessage());
}finally{
if(openOut)
out.close();
}
}
private static BancoDeDados leArquivoObjeto(String nome) throws IOException{
System.out.println("metodo ler aqri");
ObjectInputStream in = null;
BancoDeDados agendaas = null;
boolean openIn = false;
try{
in = new ObjectInputStream(new BufferedInputStream(new FileInputStream(nome)));
openIn = true;
agendaas = (BancoDeDados) in.readObject();
System.out.println("consegue ler");
}catch(ClassNotFoundException e){
System.err.println(e.getMessage());
}catch(IOException e){
System.err.println(e.getMessage());
}finally{
if(openIn)
in.close();
}
return agendaas;
}
Esse trecho de código eu chamo no inicio do main:
if(new File("agendas.dat").exists()){
try {
agendas = leArquivoObjeto("agendas.dat");
} catch (IOException e) {
e.printStackTrace();
}
}else{
try {
escreveArquivoObjeto("agendas.dat", agendas);
} catch (IOException e) {
e.printStackTrace();
}
}
E este aqui quando o usuario decide encerrar o programa.
try {
escreveArquivoObjeto(“agendas.dat”, agendas);
} catch (IOException e) {
}[/code]
So para enfatizar, ele cria o arquivo.
Desde ja agradeço,
[]s
Jéssika Renalle