Подскажите, пожалуйста, где накосячил. Вроде все правильно работает. Не совсем понимаю рекомендацию :Убедись, что учитывается весь id, а не его часть, а так же почему у меня не закрыты потоки? Проверял под дебагом, переменная id содержит число целиком без пробелов. В общем может я неправильно понимаю суть требований. Заранее спасибо за помощь
package com.javarush.task.task18.task1822;
/*
Поиск данных внутри файла
*/
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream inputStream = new FileInputStream(reader.readLine());
//FileInputStream inputStream = new FileInputStream("D:\\Папочка\\Учеба\\sad1.txt");
ArrayList<String> list = new ArrayList<>();
String a;
BufferedReader reader1 = new BufferedReader(new InputStreamReader(inputStream));
while ((a = reader1.readLine()) != null){
list.add(a);
}
HashMap<Integer, String> map = new HashMap<>();
String[] strings;
for( int i = 0; i < list.size(); i++){
strings = list.get(i).split("\\s[A-Z]");
int id = Integer.parseInt(strings[0]);
strings = list.get(i).split(id + " ");
map.put(id, strings[1]);
//map.put(id, list.get(i));
}
System.out.println(map.get(Integer.parseInt(args[0])));
reader.close();
reader1.close();
inputStream.close();
}
}