Пробовал так же решать через Scanner конкретно, хоть и понимаю что это мартышкин труд, здесь и так он задействован. Пытался вывести массив строк на экран что убедиться в его существовании, но получал ошибки о том что строка пустая... Хотя в параметрах конструктора
Scanner scanner = new Scanner (new File("D:/1.txt"), путь к файлу указываю верно... Чтение из файла получалось только в том случае, если вместо new File,
использовал new FileInputStream... но на выходе получается конечно же не желаемый текст.
package com.javarush.task.task19.task1904;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;
/*
И еще один адаптер
*/
public class Solution {
public static void main(String[] args) throws IOException {
}
public static class PersonScannerAdapter implements PersonScanner{
private final Scanner fileScanner;
PersonScannerAdapter(Scanner fileScanner) {
this.fileScanner = fileScanner;
}
@Override
public void close() throws IOException {
fileScanner.close();
}
@Override
public Person read() throws IOException {
String[] arr = fileScanner.nextLine().split(" ");
String lastNname = arr[0];
String firstName = arr[1];
String middleName = arr[2];
Date date = new Date(Integer.parseInt(arr[5]),Integer.parseInt(arr[4]),Integer.parseInt(arr[3]));
return new Person(lastNname,firstName,middleName,date);
}
}
}