Решил задачу максимально простым кодом, без всяких лишних классов, но условие говорит, что данные не вносятся, хотя в jdi все вносится и как надо??!
package com.javarush.task.task18.task1827;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)) ;
String fileName = reader.readLine();
int id = 0;
FileReader input = new FileReader(fileName);
BufferedReader reader2 = new BufferedReader(input);
String c;
while (reader2.ready()) {
c = reader2.readLine();
String[] s = c.split(" ");
try {
int ids = Integer.parseInt(s[0]);
if (ids > id && s[0].length() <= 9)
id = ids;
} catch (Exception e) {
}
}
if (args.length == 0) return;
try (FileWriter output = new FileWriter(fileName,true)){
if (args[0].equals("-c")){ output.write( id + " ");
if (args[1].length()<=30) output.write(args[1]+ " ");
if (args[2].length()<=8) output.write(args[2]+ " ");
if (args[3].length()<=4) output.write(args[3]+ " " + "\n");}}
catch (Exception e){
}
reader.close();
reader2.close();
}
}