Что неправильно?
package com.javarush.task.task18.task1827;
/*
Прайсы
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = "";
if (args.length == 4) {
if (args[0].equals("-c")) {
try {
s = reader.readLine();
BufferedReader fileReader = new BufferedReader(new FileReader(s));
BufferedWriter fileWriter = new BufferedWriter(new FileWriter(s, true));
String ID = "";
ArrayList<Integer> idList = new ArrayList<>();
//Получаем список всех id
while (fileReader.ready()) {
ID = fileReader.readLine().substring(0, 7);
idList.add(Integer.parseInt(ID));
}
//Получаем id, нужный для записи
Integer lastIDInt = Collections.max(idList) + 1;
ID = lastIDInt.toString();
//Обрезаем или заполняем пробелами до нужного количества символов
int spacesNumber;
if (ID.length() > 8) {
ID = ID.substring(0, 7);
}
fileWriter.write("\n" + ID);
if (ID.length() < 8) {
spacesNumber = 8 - ID.length();
for (int i = 0; i < spacesNumber; i++)
fileWriter.write(" ");
}
if (args[1].length() > 30) {
args[1] = args[1].substring(0, 29);
}
fileWriter.write(args[1]);
if (args[1].length() < 30) {
spacesNumber = 30 - args[1].length();
for (int i = 0; i < spacesNumber; i++)
fileWriter.write(" ");
}
if (args[2].length() > 8) {
args[2] = args[2].substring(0, 7);
}
fileWriter.write(args[2]);
if (args[2].length() < 8) {
spacesNumber = 8 - args[2].length();
for (int i = 0; i < spacesNumber; i++)
fileWriter.write(" ");
}
if (args[3].length() > 4) {
args[3] = args[3].substring(0, 3);
}
fileWriter.write(args[3]);
if (args[3].length() < 4) {
spacesNumber = 4 - args[4].length();
for (int i = 0; i < spacesNumber; i++)
fileWriter.write(" ");
}
//Закрываем потоки
fileReader.close();
fileWriter.close();
} catch (Exception e) {
}
}
}
}
}