Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level19.lesson10.home03;
- import java.io.BufferedReader;
- import java.io.FileReader;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.GregorianCalendar;
- import java.util.List;
- /* Хуан Хуанович
- В метод main первым параметром приходит имя файла.
- В этом файле каждая строка имеет следующий вид:
- имя день месяц год
- где [имя] - может состоять из нескольких слов, разделенных пробелами, и имеет тип String
- [день] - int, [месяц] - int, [год] - int
- данные разделены пробелами
- !!!Заполнить список PEOPLE импользуя данные из файла
- Закрыть потоки. Не использовать try-with-resources
- Пример входного файла:
- Иванов Иван Иванович 31 12 1987
- Вася 15 5 2013
- */
- public class Solution {
- public static final List<Person> PEOPLE = new ArrayList<Person>();
- public static void main(String[] args) {
- try {
- BufferedReader fileReader = new BufferedReader(new FileReader(args[0]));
- String fileLine="";
- while ((fileLine=fileReader.readLine())!=null) {
- try
- {
- PEOPLE.add(separNameAndDate(fileLine));
- }
- catch (Exception e) {}
- }
- fileReader.close();
- } catch (Exception e) {}
- }
- public static Person separNameAndDate(String fileLine) {
- String[]splittedLine = fileLine.split(" ");
- int splLineIndex = (splittedLine.length) - 1;
- int year = Integer.parseInt(splittedLine[splLineIndex]);
- int month = (Integer.parseInt(splittedLine[splLineIndex-1]));
- int day = Integer.parseInt(splittedLine[splLineIndex-2]);
- int i = fileLine.indexOf(String.format(" %d %d %d",day,month,year));
- Date persDate = (new GregorianCalendar(year,month-1,day)).getTime();
- String persName= fileLine.substring(0,i);
- return new Person(persName,persDate);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement