Подскажите, что не так в моём решении? Не проходит по условию "Программа должна найти в файле и вывести информацию о id, который передается первым параметром.". Я это понимаю, как вывести всю строку о товаре в исходном виде. Что собственно я и делаю.
Логика простая, вроде работает. Не понятно, что именно я упустил или не учёл. Кодировку явно cp1251 указал, чтобы в моём примере не было иероглифов, т.к. я создаю файл в кодировке винды. Но также я пробовал проходить валидацию с указанием UTF-8 и вообще без указания кодировки (у меня при этом чушь несусветная отображается на экран, но вдруг для валидатора пофиг).
package com.javarush.task.task18.task1822;
/*
Поиск данных внутри файла
*/
import java.io.*;
public class Solution {
public static void main(String[] args) {
if (args.length == 1) {
String searchId = args[0];
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedReader file = new BufferedReader(new InputStreamReader(new FileInputStream(reader.readLine()), "cp1251"));
reader.close();
while (file.ready()) {
String productInfo = file.readLine();
if (productInfo.startsWith(searchId + " "))
System.out.println(productInfo);
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}