5 день занимаюсь этим вопросом. Уже перепробовал с 10 способов, но валидатор выдает: "При запуске программы с параметрами "-u id productName price quantity" должна обновится информация о товаре в файле. Требование задачи не выполнено."
String arg1 = args[1].length() > 8 ? args[1].substring(0, 8) : args[1];
            String arg2 = args[2].length() > 30 ? args[2].substring(0, 30) : args[2];
            String arg3 = new java.text.DecimalFormat("#0.00").format(Long.parseLong(args[3]));
            arg3 = arg3.length() > 8 ? arg3.substring(0, 8) : arg3;
            arg3 = arg3.replace(',', '.');
            String arg4 = args[4].length() > 4 ? args[4].substring(0, 4) : args[4];

            int numberString = 0;

            for (int i = 0; i < list.size(); i++)
                if (list.get(i).substring(0, 8).contains(arg1))
                {
                    numberString = i;
                    break;
                }

            String newString = String.format("%-8s%-30s%-8s%-4s", arg1, arg2, arg3, arg4);

            list.set(numberString, newString);

            java.io.BufferedWriter fileWriter = new java.io.BufferedWriter(new java.io.FileWriter(fileName));
            for (int i = 0; i < list.size(); i++)
            {
                fileWriter.write(list.get(i).trim());
                if ((i < list.size() - 1))
                    fileWriter.newLine();
            }
            fileWriter.close();