Galera, tá rolando algo mto esquisito no meu código... vejam soh... Esse código gera um arquivo ok?
public void criarConta(String login, String senha, String nome_exibicao, String email, String sexo, String dataNasc, String endereco,
String interesses, String quem_sou_eu, String filmes, String musicas, String livros) throws Exception {
Usuario pessoa = new Pessoa(login,senha,nome_exibicao,email,sexo,dataNasc,endereco,interesses,quem_sou_eu,filmes,musicas,livros);
File file = new File("usuarios.xml");
if (!file.exists()) {
file.createNewFile();
}
else {
load();
for (int i=0;i<usuarios.size();i++) {
if (loginExistente(usuarios.get(i),login)) throw new Exception("Login existente");
if (emailExistente(usuarios.get(i),email)) throw new Exception("Email existente");
}
}
usuarios.add(pessoa);
save();
}
O load eh o seguinte método:
public void load() throws FileNotFoundException{
XStream xstream = new XStream();
usuarios = (ArrayList<Usuario>) xstream.fromXML(new BufferedInputStream(new FileInputStream("usuarios.xml")));
}
O save é o seguinte método:
public void save() throws FileNotFoundException{
XStream xstream = new XStream();
xstream.toXML(usuarios, new BufferedOutputStream(new FileOutputStream("usuarios.xml")));
}
Que transforma usuarios(uma lista de pessoas) em código xml e coloca dentro de usuarios.xml
Agora tá acontecendo algo estranho... nesse método aki ele apaga o arquivo:
public void clear(){
File file = new File("usuarios.xml");
if (file.exists()) {
System.gc();
file.delete();
}
}
Como eu faço pra apagar o arquivo e quando instanciar ele de novo ele ficar vazio? Ou então tem alguma maneira de apagar o conteúdo do arquivo sem deletá-lo?