Теперь не проход по 4 пункту
package com.javarush.task.task18.task1827;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.IOException;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws IOException {
String dest = null;
try (BufferedReader bff = new BufferedReader(new InputStreamReader(System.in))) {
dest = bff.readLine();
}
if (args.length != 0) {
if ("-c".equals(args[0]))
addProduct(dest, args[1], args[2], args[3]);
}
}
private static void addProduct(String dest, String productName, String price, String quantity) throws IOException {
try (BufferedWriter buffOut = new BufferedWriter(new FileWriter(dest, true));
BufferedReader bf = new BufferedReader(new FileReader(dest))){
int id = getHighestId(dest) + 1 ;
buffOut.append(correctString(id + "", 8));
buffOut.append(correctString(productName, 30));
buffOut.append(correctString(price, 8));
buffOut.append(correctString(quantity, 4));
buffOut.newLine();
}
}
public static String correctString(String s, int length) {
String result = null;
if (s.length() > length)
result = s.substring(0, length);
else {
result = s;
for (int i = 0; i < length - s.length(); i++) {
result += " ";
}
}
return result;
}
public static int getHighestId(String fileName) throws IOException {
int result = 0;
try(BufferedReader reader = new BufferedReader(new FileReader(fileName))){
while(reader.ready()){
String sId = reader.readLine()
.substring(0,8)
.trim();
int id = Integer.parseInt(sId);
if(result < id) result = id;
}
}
return result;
}
}