как только не изворачивался, но понять не смог. Нужна помощь
package com.javarush.task.task18.task1827;
/*
Прайсы
*/ //D:\my-object-data.txt
//-c qwe 10 7
import java.io.*;
import java.util.Locale;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
File fileName = new File(bufferedReader.readLine());
FileReader fileReader = new FileReader(fileName);
bufferedReader = new BufferedReader(fileReader);
if (args.length > 0) {
switch (args[0]){
case ("-c"):
FileWriter fileWriter = new FileWriter(fileName, true);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
int max = 0, id;
//поиск максимального ID
while (bufferedReader.ready()) {
String strId = bufferedReader.readLine();
strId = strId.substring(0, 8);
id = Integer.parseInt(strId.replaceAll(" ", ""));
if (max < id) {max = id;}
}
//формат вывода
String Id = String.format("%-8d", ++max);
String productName = String.format("%-30.30s", args[1]);
String price = String.format(Locale.ROOT, "%-8.2f", Double.parseDouble(args[2]));
String quantity = String.format("%-4d", Integer.parseInt(args[3]));
bufferedWriter.newLine(); //переход на новую строку
bufferedWriter.write(Id + productName + price + quantity);
bufferedWriter.close();
fileWriter.close();
}
}
fileReader.close();
bufferedReader.close();
// StringBuilder str = new StringBuilder(String.valueOf(++max));
/*while (str.length() < 8){
str.append(" ");
}
if (args[1].length() > 30){
args[1] = args[1].substring(0, 30);
} else while (args[1].length() < 30){
args[1] += " ";
}
if (args[2].length() > 8){
args[2] = args[2].substring(0, 8);
} else while (args[2].length() < 8){
args[2] += " ";
}
if (args[3].length() > 4){
args[3] = args[3].substring(0, 4);
} else
while (args[3].length() < 4){
args[3] += " ";
}*/
// bufferedWriter.write("\n" + str + args[1] + args[2] + args[3]);
}
}