Не проходит по 3му пункту и все тут🙁
package com.javarush.task.task18.task1828;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы 2
*/
public class Solution {
public static void main(String[] args) throws Exception{
if (args.length == 0) {
return;
}
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
List<String> list = new ArrayList<>();
try (BufferedReader fileReader = new BufferedReader(new FileReader(fileName))) {
String line;
while((line = fileReader.readLine()) != null){
list.add(line);
}
}
String result;
switch(args[0]){
case "-u":
String id = args[1];
if (id.length() > 8){
id = id.substring(0,8);
}
String productName = "";
for (int i = 1; i < args.length - 2; i++) {
productName += args[i] + " ";
}
if (productName.length() > 30) {
productName = productName.substring(0, 30);
}
String price = args[args.length - 2];
if (price.length() > 8) {
price = price.substring(0, 8);
}
String quantity = args[args.length - 1];
if (quantity.length() > 4) {
quantity = quantity.substring(0, 4);
}
result = String.format("%-8d%-30s%-8s%-4s", id, productName.trim(), price, quantity);
for (int i = 0; i < list.size(); i++){
if(list.get(i).substring(0,8).trim().equals(id)){
list.set(i, result); //если id совпал заменяем строку
}
}
break;
case "-d":
String id2 = args[1];
if (id2.length() > 8){
id2 = id2.substring(0,8);
}
for (int i = 0; i < list.size(); i++){
String compare = list.get(i);
if(compare.substring(0,8).trim().equals(id2)){
list.remove(i);
}
}
break;
}
try(FileWriter fileWriter = new FileWriter(fileName)){
for(String s : list){
fileWriter.write(s);
fileWriter.write("\n");
}
}
}
}