не проходит валидацию по пунктам 4.5.6.7 не могу понять почему
package com.javarush.task.task18.task1827;
/*
Прайсы
*/
import java.io.*;
import java.util.Arrays;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
BufferedReader reader1 = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
if (args.length != 0 && args[0].equals("-c")) {
int maxId = Integer.MIN_VALUE;
String line;
while ((line = reader1.readLine()) != null){
if (Integer.parseInt(line.substring(0,7)) > maxId) maxId = Integer.parseInt(line.substring(0,7));
}
maxId++;
String idString = formatString(String.valueOf(maxId), 8);
String productName = formatString(args[1],30);
String price = formatString(args[2], 8);
String quantity = formatString(args[3], 4);
StringBuilder sb = new StringBuilder();
sb.append(idString).append(productName).append(price).append(quantity);
FileWriter fw = new FileWriter(fileName);
fw.write(sb.toString());
fw.close();
}
reader1.close();
}
public static String formatString (String str, int length) {
char[] Array = new char[length];
Arrays.fill(Array, ' ');
char[] temp = str.toCharArray();
int count = (Array.length < temp.length) ? Array.length : temp.length;
for (int i = 0; i < count; i++) {
Array[i] = temp[i];
}
String q = String.valueOf(Array);
return q;
}
}