Не проходит по пунктам:
-При запуске программы с параметрами "-c productName price quantity" в конец файла должна добавится новая строка с товаром.
-Товар должен иметь следующий id, после максимального, найденного в файле.
-Форматирование новой строки товара должно четко совпадать с указанным в задании.
package com.javarush.task.task18.task1827;
/*
Прайсы
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
File fileName = new File(reader.readLine());
reader.close();
if (args.length == 0) {
return;
}
if (args[0].equals("-c"))
{
BufferedReader fis = new BufferedReader(new FileReader(fileName));
String currentLine;
String lastLine;
int id1Max = 0;
while ((currentLine = fis.readLine()) != null) {
lastLine = currentLine;
String id = lastLine.substring(0, 8).trim();
int id1 = Integer.parseInt(id);
if (id1 > id1Max) {
id1Max = id1;
}
} fis.close();
int idNext = id1Max + 1;
String id1a = idNext + "";
for (int i = id1a.length(); i < 8; i++) {
id1a += " ";
}
for (int i = args[1].length(); i < 30; i++) {
args[1] += " ";
}
for (int i = args[2].length(); i < 8; i++) {
args[2] += " ";
}
for (int i = args[3].length(); i < 4; i++) {
args[3] += " ";
}
BufferedWriter fos = new BufferedWriter(new FileWriter(fileName, true));
try {
fos.newLine();
fos.write( id1a + args[1].substring(0, 30) + Double.parseDouble(args[2].substring(0, 8)) + Integer.parseInt(args[3].substring(0, 4)));
} finally {
fos.close();
}
}
}
}