В чём ошибка?
/*
Прайсы
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
public class Solution {
public static void main(String[] args) throws Exception {
// 1 проверка наличия параметров запуска в args,
if (args.length > 1 && args[0].equals("-c")) {
// 2 Если они есть то - все 4 параметра нужно считать в свои переменные String productName = args[1] и тд
String id = args[0];
String productName = args[1];
String price = args[2];
String quantity = args[3];
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
BufferedReader fileReader = new BufferedReader(new FileReader(fileName));
fileReader.close();
String currentId;
ArrayList<Integer> listOfId = new ArrayList<>();
// задание сводится к тому, что ты должен считать строку данных из файла.
// затем в каждой строке взять первые 8 символов обрезать лишние пробелы и сконвертировать
// эту строку Id в Int
// это нужно для того, что бы найти максимальный id из тех, которые лежат в файле
// затем взять этот id и параметры запуска программы и сформировать новую строку для файла
// добавить её в файл
FileInputStream fileInputStream = new FileInputStream(fileName);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fileInputStream));
String fileLine;
while ((fileLine = bufferedReader.readLine()) != null) {
String idString = fileLine.substring(0, 7);
idString = idString.replaceAll("\\s+", "");
int idInt = Integer.parseInt(idString);
listOfId.add(idInt);
} // 3 написать функцию которая ищет максимальный id в файле
Integer idMax = Collections.max(listOfId);
Integer currentIdInt = idMax + 1;
currentId = currentIdInt.toString();
// 4 написать функцию которая из 4х параметров делает строку по условию задачи
// 5 вызвать эту функцию и её результат добавить в файл
String result = currentId + productName + price + quantity ;
FileOutputStream outputStream = new FileOutputStream(fileName, true);
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream));
bufferedWriter.write(result);
bufferedWriter.close();
outputStream.close();
}
}
}