Потратил три часа на поиск и устранение данной ошибки. Почему если я в writer.write кладу через пробел сначала фамилию имя и плюсую дату writer.write(user.getLastName() + " " + user.getFirstName() + " " + user.getBirthDate().getTime());, то все норм проходит. Если же я делаю поэтапно writer.write(user.getBirthDate().getTime());, то меня просит idea прокастовать user.getBirthDate().getTime() в int, а потом при компилсяции выдает numbeerformatexception. Пока не увидел в обсуждении что записывают в writer через пробел все подряд, даже подумать не мог, что так принимает а как у меня было нет. В связи с чем такое поведение?
public void save(OutputStream outputStream) throws Exception {
           //implement this method - реализуйте этот метод
           BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream));
           for (User user : users) {
               writer.write(user.getLastName() + " " + user.getFirstName() + " " + user.getBirthDate().getTime());
               writer.write(user.getBirthDate().getTime());
               writer.newLine();
               if (user.isMale()) {
                   writer.write("man");
               } else writer.write("woman");
               writer.newLine();
               writer.write(user.getCountry().toString());
               writer.newLine();
               writer.flush();
           }