Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level19.lesson03.task04;
- import java.io.IOException;
- import java.util.*;
- /* И еще один адаптер
- Адаптировать Scanner к PersonScanner.
- Классом-адаптером является PersonScannerAdapter.
- Данные в файле хранятся в следующем виде:
- Иванов Иван Иванович 31 12 1950
- В файле хранится большое количество людей,
- данные одного человека находятся в одной строке.
- Метод read() должен читать данные одного человека.
- */
- public class Solution {
- public static class PersonScannerAdapter implements PersonScanner {
- private Scanner scanner;
- public PersonScannerAdapter(Scanner scanner)
- {
- this.scanner = scanner;
- }
- @Override
- public Person read() throws IOException
- {
- String line = scanner.nextLine();/*Иванов Иван Иванович 31 12 1950*/
- String[] splitStr = line.split("\\s+");
- String firstName = splitStr[1];
- String middleName = splitStr[2];
- String lastName = splitStr[0];
- Date birthDate=null;
- try
- {
- int day = Integer.parseInt(splitStr[3]);
- int month = (Integer.parseInt(splitStr[4]))-1;
- int year = Integer.parseInt(splitStr[5]);
- birthDate = (new GregorianCalendar(year,month,day).getTime());
- }
- catch (Exception e)
- {
- }
- return new Person(firstName, middleName, lastName,birthDate);
- }
- @Override
- public void close() throws IOException
- {
- scanner.close();
- }
- }
- /* public static void main(String[] args) throws IOException
- {
- Scanner scanner = new Scanner("Иванов Иван Иванович 17 02 2016");
- PersonScanner personScanner = new PersonScannerAdapter(scanner);
- System.out.println((personScanner.read()).toString());
- }*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement