Всем привет!
Надеюсь на наметанный глаз. Не могу выловить причину, почему валидатор не принимает.
package com.javarush.task.task18.task1828;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы 2
*/
/**
* 1. Программа должна считать имя файла для операций CRUD с консоли.
* 2. При запуске программы без параметров список товаров должен остаться неизменным.
* 3. При запуске программы с параметрами "-u id productName price quantity" должна обновится информация о товаре в файле.
* 4. При запуске программы с параметрами "-d id" строка товара с заданным id должна быть удалена из файла.
*/
public class Solution {
public static void main(String[] args) throws IOException {
String fileName = new BufferedReader(new InputStreamReader(System.in)).readLine();
String mode = args[0];
String id = args[1];
if (mode.length() == 0) return;
ArrayList<String> buffer = new ArrayList<>(0);
try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
while (reader.ready()) {
String line = reader.readLine();
String lineId = line.substring(0, 8).trim();
if (lineId.equals(id)) {
switch (mode) {
case "-u":
String newLine = String.format("%-8d%-30s%-8s%-4s", id, args[2], args[3], args[4]);
buffer.add(newLine);
break;
case "-d":
continue;
}
} else {
buffer.add(line);
}
}
}
try (FileWriter fileWriter = new FileWriter(fileName)) {
for (String line : buffer) {
fileWriter.write(line + "\n");
}
}
}
}