Boa noite, estou querendo atualizar um txt com uma lista, mas sobrescrevendo o que eu ja tenho, exemplo:
Arquivo antes:
Vanessa
Carmem
Alice
Mariana
DESEJADO: Arquivo Depois (retirei Alice):
Vanessa
Carmem
Mariana
ATUAL: tenho esta resposta:
Vanessa
Carmem
Alice
Mariana
Vanessa
Carmem
Mariana
Ja coloquei false no fileWrite mas ele me limpa o arquivo e quando eu abro, o txt esta vazio =s
Onde estou errando???
//********** METHODE MODIFIER NOM D'UN FICHIER **********//
public void rename(String novoNome) throws IOException {
String temp;
List<String> lista2 = new ArrayList<String>();
arquivo = new File(adresse);
jTextField3.setText(novoNome);
novoNome = jTextField3.getText().toLowerCase();
String[] sp = arquivo.getName().split("\\.");
fr = new FileReader("/Users/Veronica/workspacenetbeans/Visionneuse/mots.txt");
gravar = new BufferedWriter(new FileWriter("/Users/Veronica/workspacenetbeans/Visionneuse/mots.txt", true));
br = new BufferedReader(fr);
while ((temp = br.readLine()) != null) {
//GENERATION DE LA LISTE (CHAQUE LIGNE DU FICHIER REMPLIRA LA LISTE)
if (!temp.contains(jTextField2.getText())) {
lista2.add(temp);
System.out.println("NOM N'A PAS ETE ALTERE");
}
}
String qqqq = lista2.toString();
System.out.println("***LISTA = " + qqqq);
//REMPLACER LES [, ], ET VIRGULE POUR VIDE, RIEN
gravar.write(qqqq.replace(",", "\n").replace(" ", "").replace("[", "").replace("]", ""));
gravar.close();
if (!jTextField3.getText().isEmpty()) {
if (arquivo.isFile() == true) {
arquivo.renameTo(new File(arquivo.getParent() + "\\" + novoNome + "." + sp[1]));
String nouveau1 = arquivo.getParent() + "\\" + novoNome + "." + sp[1].toString();
jTextField2.setText(nouveau1);
} else {
arquivo.renameTo(new File(arquivo.getParent() + "\\" + novoNome));
}
} else {
jLabel5.setText("INFORMER LE NOUVEAU NOM");
}
setChanged();
notifyObservers();
}
OBRIGADA,
veronica