写作对象,同时附加文件[副本](Writing objects to file while appe

2019-11-02 09:15发布

这个问题已经在这里有一个答案:

  • 写和读多个对象到文件 3个回答

我创建了一个程序,注册会员的图书馆系统。 为了存储我已经使用文本文件中的数据和读/写我实现了系列化。

我的问题是,当我注册一个会员,并尝试注册另一个成员,第二构件的记录将不会保存。 要追加写入我使用了关键字“真”的文件了。

这里是我做了什么:

//Am writing the object to a file

   public void RegisterMembers(Members object) {
        try{

        FileOutputStream write=new FileOutputStream("Memberships.txt",true);
        ObjectOutputStream writeFile=new ObjectOutputStream(write);

        writeFile.writeObject(object);
        writeFile.flush();
        writeFile.close();

        }catch(Exception e){
              Frame frame=new Frame();
            JOptionPane.showMessageDialog(frame,"Storage file not found");
        }


}


   //Method to read from the file
   public void readMemberships() throws FileNotFoundException, IOException,   ClassNotFoundException{
             Person object;


                FileInputStream read=new FileInputStream("Memberships.txt");
                ObjectInputStream readFile=new ObjectInputStream(read);

               object=(Person)readFile.readObject();

            System.out.println(object);



    }

//Here is a piece of code which is in the gui frame which i implemented
       Members newMember=new   Members(firstName,initials,birthDay,birthMonth,birthYear,Gender,memberid,address,tele,membershipType,paymentType);

       newMember.RegisterMembers(newMember);  //calls the 2 methods

       newMember.readMemberships();

什么似乎这里是错误? 我希望它书写时追加。

感谢您的时间。

Answer 1:

我认为,我创建了(现在解决)的话题是你在找什么。

“你不能追加到与一个ObjectOutputStream创建的现有文件,至少不是没有努力。有一个小窍门地方有关扩展的ObjectOutputStream并重写`writeStreamHeader()方法,以便不写流头第二次(。 ..)” - 回答EJP

请有看看这里我演讲的题目:

  • 写和读多个对象到文件 。

您也可以点击下方的链接

  • 附加到一个ObjectOutputStream

这就是你要找的人?



文章来源: Writing objects to file while appending [duplicate]