Я может быть чего то не понимаю? Читаю строку, нахожу нужный id, вывожу строку. Думал сначала проблема в том, что создал отдельный метод, перенес код в main тож самое...
Или тут нужно обязательно учитывать что id - int, имя - String, цена - double, количество - int??
Или id могут в файле повторятся? Я не понимаю
Или я зря проверку на то, что args не пустой сделал и первый параметр именно id?
Или нужно использовать не FileReader, а FileInputStream?
Или у нас на вход в программу не условное "id 2", а просто "2"?!
Ну очень много вопросов
package com.javarush.task.task18.task1822;
import java.io.*;
/*
Поиск данных внутри файла
*/
public class Solution {
public static void main(String[] args) {
readFile(args);
}
private static void readFile(String[] args) {
if (args.length > 0) {
String file = null;
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
System.out.println("Введите имя файла");
file = reader.readLine();
} catch (IOException e) {
System.out.println("Ошибка ввода-вывода");
}
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
while (reader.ready()) {
String line = reader.readLine();
if (line.startsWith(args[0] + " ")) {
System.out.println(line);
}
}
} catch (FileNotFoundException e) {
System.out.println("Файл не найден");
} catch (IOException e) {
System.out.println("Ошибка ввода-вывода");
}
} else {
System.out.println("Задайте верные параметры");
}
}
}