private void salvarNomes() {
try {
ObjectInputStream is = new ObjectInputStream(new FileInputStream("nomes.nomes"));
ArrayList<ClsNomes> lista = (ArrayList<ClsNomes>) is.readObject();
is.close();
StringBuilder path = new StringBuilder(new File("").getAbsolutePath() + "\\");
File file = new File(path.toString() + "nomes.txt");
File rename = new File(path.toString() + "nomesB.txt");
if (file.renameTo(rename)) {
PrintWriter pw = new PrintWriter(file);
if (file.isFile()) {
DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
for (ClsNomes c : lista) {
pw.println(c.getNome() + "," + c.getTelefone() + "," + df.format(c.getDtaNascimento()));
}
pw.flush();
pw.close();
}
}
} catch (FileNotFoundException e) {
Mensagens.erro("Arquivo não encontrado", "IO");
Erros.registraErro(e.getMessage());
System.exit(0);
} catch (IOException ex) {
Mensagens.erro("Arquivo ao salvar arquivo", "IO");
Erros.registraErro(ex.getMessage());
System.exit(0);
} catch (ClassNotFoundException exa) {
Mensagens.erro("A classe não pôde ser encontrada", "IO");
Erros.registraErro(exa.getMessage());
System.exit(0);
}
}
Fiz esse codigo so para entender melhor Serialization… Ai beleza! Deu certo! O objeto foi salvo em outro método… Ai eu recupero ele nesse e da tudo certo. Até chegar em if (). Nao ta proseguindo o programa! Essa expressão está resultando em “false”!file.renameTo(rename)
Alguém sabe por que?
Depois do rename eu nem me preocupei ainda porque o programa nunca passou dali mesmo… =P
Vlws!
edit: btw, so estou querendo renomear o arquivo “nomes.txt” que ja existe pra fazer um backup antes de fazer a operação de escrever!
edit: fazendo file.isFile() retorna true!
