В общем. я не могу понять как победить дату. 1) Сначала я попробовал из строки, передаваемой в сканер методом сплит вытащить дату рождения целиком, после этого в последний параметр класса Person вставлял просто данные с типом String:
public Person read() throws IOException {
String[] str = fileScanner.nextLine().split(" ", 4);
String date = str[3];
return new Person(str[1], str[2], str[0], str[3]
}
Вывод:Иванов Иван Иванович 31 12 1950 2) Потом использовал класс SimpleDateFormat и тоже нифига:
public Person read() throws IOException {
 String[] str = fileScanner.nextLine().split(" ", 4);
 String date = str[3];
 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("d M y", Locale.ENGLISH);
 try {
 Date date1 = simpleDateFormat.parse(date);
 return new Person(str[1], str[2], str[0], date1);
} catch (ParseException ex) {
  ex.printStackTrace();
 }
 return null;
}
Вывод: Иванов Иван Иванович Sun Dec 31 00:00:00 YEKT 1950