Bonjour à tous ! Je suis nouveau et je débute en Java car j'ai un projet à faire...
Alors voilà, j'ai pas mal avancé et là j'aimerais pouvoir incrémenter un id à chaque appel de constructeur et qu'il soit sauvegarder pour que quand on ouvre le programme, l'id revient à la même valeur que quand on l'a fermé pour pouvoir l'incrémenter à nouveau.
Alors j'ai réussi à le faire, mais j'ai souvent des erreurs quand je change l'ordre de la méthode "sauvegarder" et "charger" dans le constructeur.
public class QCM implements Serializable {
private int id_QCM=0;
private boolean type;
private List<Question> questionList;
private String libelle;
public QCM(boolean type, ArrayList<Question> questionList) throws IOException, ClassNotFoundException {
this.type = type;
setQuestionList(questionList);
charger();
sauvegarder();
}
public QCM(boolean type, ArrayList<Question> questionList, int id_QCM) throws IOException, ClassNotFoundException {
this.type = type;
this.id_QCM=getId_QCM();
setQuestionList(questionList);
charger();
sauvegarder();
//charger();
}
public void sauvegarder() throws IOException {
ObjectOutputStream out;
out = new ObjectOutputStream(new FileOutputStream(new File("EnregistrementDonnées\\ID_QCM.txt" )));
out.writeObject(this);
out.close();
}
public void charger() throws IOException,
ClassNotFoundException {
QCM nouveauQcm;
ObjectInputStream in;
in = new ObjectInputStream(new FileInputStream("EnregistrementDonnées\\ID_QCM.txt" ));
nouveauQcm = (QCM) in.readObject();
in.close();
this.id_QCM=nouveauQcm.id_QCM+1;
}
Merci d'essayer de m'aider, la moitié du projet repose là dessus. Je sais que ce n'est pas dur mais je vois pas l'erreur...
J'aurais très bien pu passer par une base de donné, mais ce n'est pas le but du projet.
Merci!!