Что может не нравиться валидатору?
update: Учел в регулярке, что price гарантировано double, все еще не пускает
Тестовый файл:
200 aabc sa 314 3
2 aabc sa 314 3
20 test sa 314 3
12 test 3.14 123
4 aabc sa 314 3
1 aabc sa 314 3
200 productName 1.98 100
400 product Name 2.32 300
20 product New Name 3.23 500
При параметре 20 вывод:
test sa 314 3
product New Name 3.23 500
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.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fileInputStream = new FileInputStream(reader.readLine());
BufferedReader dataReader = new BufferedReader(new InputStreamReader(fileInputStream));
while (dataReader.ready()) {
String data = dataReader.readLine();
Pattern pattern = Pattern.compile("(\\d+) (\\w+.* \\d+\\.?\\d* \\d+)$");
Matcher matcher = pattern.matcher(data);
if (matcher.find()) {
String id = data.substring(matcher.start(1), matcher.end(1));
if (id.equals(args[0])) {
System.out.println(data.substring(matcher.start(2), matcher.end(2)));
}
}
}
reader.close();
fileInputStream.close();
dataReader.close();
}
}