Уже тысячу раз все перепроверил различными данными: больше или меньше отведенного количества символов, символ каретки убирал, добавлял, в общем, что я только не делал. Зачем ругается валидатор?
package com.javarush.task.task18.task1827;
/*
Прайсы
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws Exception {
if (args.length != 0 && args[0].startsWith("-c")) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
ArrayList<String>list = new ArrayList<>();
String s;
while ((s=bufferedReader.readLine()) != null) {
list.add(s);
}
reader.close();
bufferedReader.close();
String strID = list.get(list.size()-1).substring(0, 8).trim();
int id = Integer.parseInt(strID)+1;
strID = Integer.toString(id);
StringBuilder builder = new StringBuilder();
for (int i=1; i<args.length-2; i++) {
builder.append(args[i] + " ");
}
String productName = builder.toString();
PrintWriter writer = new PrintWriter(new FileWriter(fileName, true));
writer.printf("\n%-8.8s%-30.30s%-8.8s%-4.4s", strID, productName, args[args.length-2], args[args.length-1]);
writer.close();
}
}
}