Все работает отлично, на базе предыдущей задачи "Прайсы" добавил метод для обновления и метод для удаления.
Коротко как работает: в лист товаров products записываются товары из файла, в методе обновления находим в листе объект с нужным нам id, меняем ему значения полей. После этого перезаписываем каждый элемент обновленного листа в файл.
В методе удаления по такому же принципу находим в листе с нашими товарами объект с нужным id, затем удаляем его из листа. Перезаписываем.
P.S. делать все в одном классе пробовал, не прошло. пробовал и без метода создания - тоже не прошло
package com.javarush.task.task18.task1828;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы 2
*/
public class Solution extends CRUD{
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<Product> products = new ArrayList<>();
try (BufferedReader fileReader = new BufferedReader(new FileReader(fileName))) {
if (fileReader.ready()) {
fileReader.skip(1);
while (fileReader.ready()) {
Product product = Product.getProduct(fileReader.readLine());
products.add(product);
}
}
}
switch (args[0]) {
/* case "-c":
create(fileName, args, products);
break;*/
case "-u":
update(fileName, args, products);
break;
case "-d":
delete(fileName, args, products);
break;
}
}
}