Понимаю, что написал не самый красивый код, но все же очень интересно, почему это неправильно (если верить валидатору). Буду очень благодарен если поможете разобраться.
package com.javarush.task.task18.task1827;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
if (!args[0].equals("-c")) {
return;
}
String fileName;
try(BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
fileName = reader.readLine();
} catch (IOException e) {return;}
try (FileWriter writer = new FileWriter(fileName, true);
FileReader reader = new FileReader(fileName)) {
char[] buffer = new char[50];
while (reader.ready()) {
reader.read(buffer);
}
char[] lastIdChar = new char[8];
for (int i = 0; i < 8; i++) {
lastIdChar[i] = buffer[i];
}
int lastId = Integer.parseInt(new String(lastIdChar));
String result = String.format("%-8d%-30s%-8s%-4s", (lastId + 1), args[1], args[2], args[3]);
writer.write(result);
}
}
}
Тонкая линия выше - это скрин.)))
Соответственно, пока это не исправить, дальше код можно не смотреть.