import java.io.*;

public class test {
    public static void main(String[] args) throws Exception
    {
        Cat cat = new Cat();
        Cat cat1 = new Cat();
        Cat cat2 = new Cat();
        Cat cat3 = new Cat();

        //save cat to file
        FileOutputStream fileOutput = new FileOutputStream("C:\\Users\\olegb\\IdeaProjects\\lol\\src\\com\\company\\file2.txt");
        ObjectOutputStream outputStream = new ObjectOutputStream(fileOutput);
        outputStream.writeObject(cat);
        outputStream.write(13);
       outputStream.write(13);
        outputStream.writeObject(cat1);
        outputStream.write(13);
        outputStream.writeObject(cat2);
        outputStream.write(13);
        outputStream.writeObject(cat3);
        fileOutput.close();
        outputStream.close();

        //load cat from file
        FileInputStream fiStream = new FileInputStream("C:\\Users\\olegb\\IdeaProjects\\lol\\src\\com\\company\\file2.txt");
        ObjectInputStream objectStream = new ObjectInputStream(fiStream);
        int k = 0;
        System.out.println(objectStream.available());
        if (objectStream.available()>0) k++;
        while(objectStream.available()>0){
            k++;
            Object object = objectStream.readObject();
        }

        fiStream.close();
        objectStream.close();
        System.out.println(k);

    }
}

class Cat implements Serializable{
    String name;
    int age;

    public Cat(String name, int age){
        this.name=name;
        this.age=age;
    }
    public Cat(){

    }
}
Почему
objectStream.available()
всегда нулевой, если я кладу в файл 4 объекта