The code works on my pc but it always fails the validaton. Any idea where could be the mistake?
package com.codegym.task.task18.task1828;
/*
Prices 2
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
if(args.length == 0)
return;
if(args[0].equals("-u")) {
String id = args[1];
String productName = args[2];
String price = args[3];
String quantity = args[4];
ArrayList<String> list = new ArrayList<>();
String line;
BufferedReader fileReader = new BufferedReader(new FileReader(fileName));
while((line = fileReader.readLine()) != null)
list.add(line);
fileReader.close();
for(int i = 0; i < list.size(); i++) {
if(list.get(i).substring(0,8).trim().equals(id)){
line = String.format("%-8s%-30s%-8s%-4s", id, productName, price, quantity);
list.set(i, line);
}
}
BufferedWriter fileWriter = new BufferedWriter(new FileWriter(fileName));
for(int i = 0; i < list.size(); i++) {
fileWriter.write(list.get(i));
if(i < (list.size() -1))
fileWriter.newLine();
}
fileWriter.close();
}
if(args[0].equals("-d")) {
String id = args[1];
ArrayList<String> list = new ArrayList<>();
String line;
BufferedReader fileReader = new BufferedReader(new FileReader(fileName));
while((line = fileReader.readLine()) != null)
list.add(line);
fileReader.close();
BufferedWriter fileWriter = new BufferedWriter(new FileWriter(fileName));
for(int i = 0; i < list.size(); i++) {
if(list.get(i).substring(0, 8).trim().equals(id))
continue;
fileWriter.write(list.get(i));
if(i < (list.size()) -1)
fileWriter.newLine();
}
fileWriter.close();
}
} catch (IOException e) {
}
}
}