Можете пожалуйста просто проверить правильная ли логика решения задачи? Если что-то упустил подскажите пожалуйста. Я расписал что делаю для удобства.
Продолжение
![]()
Продолжение

package com.javarush.task.task18.task1827;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
if (args[0]=="-c"){
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
String file=reader.readLine();
BufferedReader reader1=new BufferedReader(new FileReader(file));
int id=0;
int maxid=0;
while (reader1.ready()){ //////////ищу максимальный id
String a=reader1.readLine();
id=Integer.parseInt(a.substring(0,8).trim());
if (id>maxid){maxid=id;}
}
maxid++; /////////// прибавляю к максимальному id + 1
BufferedWriter writer=new BufferedWriter(new FileWriter(file,true));
StringBuilder id_string=new StringBuilder(String.valueOf(maxid));
if (id_string.length()<8){
id_string.append(' '*(8-id_string.length()));
}
String name=args[1];
String price=args[2];
String quantity=args[3];
StringBuilder name_name=new StringBuilder(name);
if (name.length()<30){
name_name.append(' '*(30-name.length()));
}
StringBuilder price_price=new StringBuilder(price);
if(price.length()<8){
price_price.append(' '*(8-price.length()));
}
StringBuilder quantity_quantity=new StringBuilder(quantity);
if(quantity.length()<4){
quantity_quantity.append(' '*(4-quantity_quantity.length()));
}
writer.write("/n"+name_name+price_price+quantity_quantity); /// Записываю в файл с новой строки
// значения аргуменов.
reader.close();
reader1.close();
writer.close();}
}
}