Не работает 4 пункт
package com.javarush.task.task18.task1827;
/*
Прайсы
*/
import java.io.*;
import java.util.TreeSet;
import java.io.BufferedReader;
public class Solution {
public static void main(String[] args) throws Exception {
if (args.length > 0) {
String id;
String productName = args[1];
String price = args[2];
String quantity = args[3];
String result;
String fileName = readFileName();
int maxIdFromFile = findMaxIdFromFile(fileName);
id = ++maxIdFromFile + "";
id = addLineToSpecifiedLength(id, 8);
productName = addLineToSpecifiedLength(productName, 30);
price = addLineToSpecifiedLength(price, 8);
quantity = addLineToSpecifiedLength(quantity, 4);
result = id + productName + price + quantity;
writeInFile(result, fileName);
++maxIdFromFile;
}
}
public static String readFileName() {
String fileName = null;
try (BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in))) {
fileName = bufferedReader.readLine();
} catch (Exception e) {
e.printStackTrace();
}
return fileName;
}
public static int findMaxIdFromFile(String fileName) {
TreeSet<Integer> setOfId = new TreeSet<>();
int maxID;
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
while (br.ready()) {
String line = br.readLine();
String idInLine = line.substring(0, 8).trim();
int id = Integer.parseInt(idInLine);
setOfId.add(id);
}
} catch (IOException e) {
}
maxID = setOfId.last();
return maxID;
}
public static String addLineToSpecifiedLength(String line, int longtude) {
if (line.length() >= longtude) return line;
int difference = longtude - line.length();
for (int i = 0; i < difference; i++) {
line += " ";
}
return line;
}
public static void writeInFile(String line, String fileName) {
try (FileWriter fileWriter = new FileWriter(fileName)) {
fileWriter.write(line);
} catch (IOException e) {
System.out.println(e);
}
}
}