I want to append multiple object at the end to the same binary file using ObjectOutputStream 
But when I run the following code more than one time I get the exception
java.io.StreamCorruptedException: invalid type code: AC
The question is 
Is there any headers things that I should know to APPEND OBJECTS at the end of the file in java?
package sourcepackage;
import sourcepackage.persons.Person;
import sourcepackage.persons.Student;
import java.io.*;
public class MainClass {
    public static void main(String[] args) {
        Person mahmoud_kanbar = new Student(21, 224466, "Mahmoud Kanbar", "ITE");
        try {
            FileOutputStream out = new FileOutputStream("Hello.dat", true);
            ObjectOutputStream objectOut = new ObjectOutputStream(out);
            objectOut.writeObject(mahmoud_kanbar);
            objectOut.close();
            out.close();
            FileInputStream in = new FileInputStream("Hello.dat");
            ObjectInputStream objectIn = new ObjectInputStream(in);
            while (in.available() != 0) {
                Person hi = (Person) objectIn.readObject();
                hi.printInfo();
            }
            objectIn.close();
            in.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}
I was searching for decades about a solution to this problem and I couldn't find anything 
I want to append objects just like the c++ do