Как добавить объекты в файл в Java? - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь создать небольшую программу на Java, в которой мне нужно сохранить массив объектов в файле. Я искал, как это сделать, и нашел следующий код:

    //this is the array that will be stored
    private Atributtes list[]=new Atributtes [100];

    /*
    this is the way i save the data in the array,i always save them in
    index 0,and i made a for to put away the previous data because always
    there will have data in index 0
    */

    for (int i = totalElments; i>0; i--){
    list[i] = list[i-1];        
    }

    list[0]=new Atributtes ("Atributtes data");
    save.storeInfile(list);
    totalElments++;





private static final String filename="file.obj";

public void storeInfile(Object array[]){
    try{
        FileOutputStream file= new FileOutputStream(filename,true);
        ObjectOutputStream object= new ObjectOutputStream(file);
        object.writeObject(array);
        object.close();
        file.close();
        System.out.println("recording successfully");
        System.out.println("-----------------------------------");
    }catch(Exception exceccao){
        System.out.println("recording wasn't successfull");
    }
}

Моя проблема сейчас заключается в том, что когда я хочу сохранить тот же массив объектов, но с другими данными, или когда я снова открываю файл , первые данные, которые были в файле, перезаписываются.

Примечание 1: мне сказали, что я установил истинное логическое значение в FileoutPutSTream, но когда я его включаю, запись больше не происходит, но когда я удаляю истинное boolean запись происходит, но с перезаписанными данными всегда.

Примечание2: я читал о FileWriter и PrintWriter, но мне нужно писать только объекты, а не Strings.thanks !!!!

Может кто-нибудь сказать, как добавить эти новые данные в файл?

Спасибо.

1 Ответ

0 голосов
/ 27 марта 2020

Измените эту строку

FileOutputStream file= new FileOutputStream(filename);

на эту

FileOutputStream file= new FileOutputStream(filename, true) 

Значение true означает включение или отключение добавления. По умолчанию он отключен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...