public static void main(String[] args) {
    try {
        File yourFile = new File("....../data.txt");
        OutputStream outputStream = new FileOutputStream(yourFile);
        InputStream inputStream = new FileInputStream(yourFile);
        JavaRush javaRush = new JavaRush();
        User user1 = new User();
        user1.setFirstName("miroslsv");
        user1.setLastName("gavlovich");
        Calendar calendar = new GregorianCalendar(1986, Calendar.AUGUST, 26,18, 59, 40);
        user1.setBirthDate(calendar.getTime());                  // Date
        user1.setMale(true);
        user1.setCountry(User.Country.OTHER);
        User user2 = new User();
        user2.setFirstName("mariya");
        user2.setLastName("berezhnaya");
        Calendar calendar2 = new GregorianCalendar(1980, Calendar.SEPTEMBER, 16,20, 39, 20);
        user2.setBirthDate(calendar2.getTime());                  // Date
        user2.setMale(false);
        user2.setCountry(User.Country.UKRAINE);
        javaRush.users.add(user1);
        javaRush.users.add(user2);
        javaRush.save(outputStream);                //save
        outputStream.flush();
        JavaRush loadedObject = new JavaRush();     //loaded
        loadedObject.load(inputStream);

        outputStream.close();
        inputStream.close();
    } catch (IOException e) {
        //e.printStackTrace();
        System.out.println("Oops, something is wrong with my file");
    } catch (Exception e) {
        //e.printStackTrace();
        System.out.println("Oops, something is wrong with the save/load method");
    }
}

public static class JavaRush {
    public List<User> users = new ArrayList<>();

    public void save(OutputStream outputStream) throws Exception {
        PrintWriter printWriter = new PrintWriter(outputStream);
            for (User user : users) {
                printWriter.write(user.getFirstName() + " " + user.getLastName() + " " +
                        user.getBirthDate().getTime() + " " + user.isMale() + " " + user.getCountry() + "\n");
            }
        printWriter.close();
    }

    public void load(InputStream inputStream) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        while (reader.ready()){
            User user = new User();
            String[] userInfo = reader.readLine().split(" ");
            user.setFirstName(userInfo[0]);
            user.setLastName(userInfo[1]);
            user.setBirthDate(new Date(Long.parseLong(userInfo[2])));
            user.setMale(Boolean.parseBoolean(userInfo[3]));
            user.setCountry(User.Country.valueOf(userInfo[4]));
            users.add(user);
        }
        reader.close();
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        JavaRush javaRush = (JavaRush) o;
        return Objects.equals(users, javaRush.users);
    }

    @Override
    public int hashCode() {
        return users != null ? users.hashCode() : 0;
    }
}
Код проверил на фаиле, всё работает . Как правильнее дату адаптировать в main для проверки ? (не Calendar )