Программа отлично работает и выполняет свою задачу, если запускать отдельно. Долго все отлаживал, но похоже правильного решения мало, нужно еще знать тонкости работы валидатора от JavaRush.
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));
String fileName = reader.readLine();
reader.close();
if (args.length == 4 && args[0].equals("-c")) {
BufferedReader input = new BufferedReader(new FileReader(
new File(fileName)));
String textInFile = "";
int id = -1;
while((textInFile = input.readLine()) != null) {
int newId = Integer.parseInt(textInFile.substring(0,8).trim());
if (newId > id) id = newId;
}
id++;
BufferedWriter fIn = new BufferedWriter(new FileWriter(new File(fileName), true));
fIn.write("\n" + right( id + "", 8) + right(args[1] , 30) + right(args[2] + "" , 8) + right(args[3] + "" , 4));
input.close();
fIn.close();
}
}
public static String right(String s , int length){
if(s.length() > length) return s.substring(0 , length);
while(s.length() != length){
s = s +" ";
}
return s;
}
}