Люди, подскажите, что не так - не принимает валидатор, ошибки:
При запуске программы с параметрами "-c productName price quantity" в конец файла должна добавится новая строка с товаром.
Товар должен иметь следующий id, после максимального, найденного в файле.
Форматирование новой строки товара должно четко совпадать с указанным в задании.
Так вроде все работает....
package com.javarush.task.task18.task1827;
import java.io.*;
import java.util.Locale;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
if(args == null || args.length!=4 || !(args[0].equalsIgnoreCase("-c"))) return;
BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
String fileName = r.readLine();
File file = new File(fileName);
r.close();
r = new BufferedReader(new FileReader(file));
String temp = null;
int maxId = 0;
while((temp = r.readLine()) != null){
int id = Integer.valueOf(temp.substring(0, 8).trim());
if(maxId < id) maxId = id;
}
r.close();
String productName = String.format("%-30.30s",args[1]);
String price = String.format("%-8.8s",args[2]);
String quantity = String.format("%-4.4s",args[3]);
String id = String.format("%-8.8s",("" + (maxId + 1)));
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true), "Cp1251"));
wr.newLine();
wr.write(id+productName+price+quantity);
wr.flush();
wr.close();
}
}