I have seen very complex solutions, I think this is a very easy way to solve the task.
import java.io.*;

public class Solution {
    public static void main(String[] args) throws Exception{
        if (args.length == 0){
            return;
        }

        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String fileName = bf.readLine();
        bf.close();

        BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName));
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(fileName));


//------------------------------------------------------------------------------------


        String line = "";

        switch (args[0]){
            case "-u":
                while ((line = bufferedReader.readLine()) != null){

                    String id = args[1];

                    if (line.startsWith(id)){

                        id = fillReg(args[1], 8);
                        String name = fillReg(args[2], 30);
                        String precio = fillReg(args[3], 8);
                        String cantidad = fillReg(args[4], 4);

                        String lineaEscribir = id + name + precio + cantidad;
                        bufferedWriter.write(lineaEscribir);
                        bufferedWriter.write("\n");

                    }else{

                        bufferedWriter.write(line);
                        bufferedWriter.write("\n");

                    }
                }

                bufferedWriter.close();
                bufferedReader.close();
                break;

            case "-d":
                 while ((line = bufferedReader.readLine()) != null){
                     String id = args[1];

                     if (line.startsWith(id)){
                        continue;
                     }else{
                         bufferedWriter.write(line);
                         bufferedWriter.write("\n");
                     }
                 }

                bufferedWriter.close();
                bufferedReader.close();
                 break;
        }
    }

    public static String fillReg (String reg, int length){
        if (reg.length() >= length){
            return reg;
        }

        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append(reg);

        while (stringBuilder.length() < length){
            stringBuilder.append(' ');
        }

        return stringBuilder + "";

    }
}