проверил уже как только можно. Решение работает. Валидатор опять ругается не по делу. Помогите, сил нет. Его не устраивает -u и -d
package com.javarush.task.task18.task1828;

import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;

public class Solution {
    public static void main(String[] args) throws Exception {
        String arg = "-u";
        String arg1 = "-d";

        ArrayList<String> list = new ArrayList<>();
        int i;
        String line;

        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        String file = bufferedReader.readLine();
        FileInputStream fileInputStream = new FileInputStream(file);
        BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream));

        while ((line = reader.readLine()) != null) {
            list.add(line);
        }

        if (args.length < 1) { }

        else if (args[0].equals(arg)) {
            int id = Integer.parseInt(args[1]);
            for (i = 0; i<list.size(); i++) {
                if (id == (Integer.parseInt(((list.get(i).substring(0,8)).trim())))) {
                    String[] array = new String[args.length - 4];
                    int j = 0;
                    for (int m = 2; m<args.length - 2; m++) {
                        array[j] = args[m];
                        j++;
                    }

                    String id1 = String.format("%-8s", String.valueOf(Integer.parseInt((list.get(i).substring(0,8)).trim())));
                    String productName = (String.format("%-30s", String.join(" ", array))).substring(0, 30);
                    String price = (String.format("%-8s", args[args.length - 2])).substring(0, 8);
                    String quantity = (String.format("%-4s", args[args.length - 1])).substring(0,4);
                    String s = id1+productName+price+quantity;
                    list.set(i, s);
                    break;
                }
            }

        }
        else if (args[0].equals(arg1)) {
            int id = Integer.parseInt(args[1]);
            for (i = 0; i<list.size(); i++) {
                if (id == (Integer.parseInt((list.get(i).substring(0,8)).trim()))){
                    list.remove(i);
                    break;
                }
            }
        }
        fileInputStream.close();
        Files.write(Paths.get(file), list);
        bufferedReader.close();
    }
}