Что не так???
package com.javarush.task.task18.task1828;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.*;
/*
Прайсы 2
*/
public class Solution {
public static void main(String[] args) {
if(args.length == 4 && args[0].equals("-u")){
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
BufferedReader fileReader = null;
String userInputFilePath = null;
while (true){
try{
userInputFilePath = input.readLine();
fileReader =new BufferedReader(new FileReader(userInputFilePath, StandardCharsets.UTF_8));
break;
} catch (FileNotFoundException e){
System.out.println("File not Found");
} catch (IOException e){
e.printStackTrace();
}
}
ArrayList<String> listForLineFromFile = new ArrayList<>();
String lineInFile = "";
int idKey = Integer.parseInt(args[1].replaceAll(" ",""));
try {
while (fileReader.ready()){
lineInFile = fileReader.readLine();
listForLineFromFile.add(lineInFile);
}
} catch (IOException e){
e.printStackTrace();
}
while (args[1].length()<8){
args[1] += " ";
}
while (true){
if (args[2].length()<30){
args[2] += " ";
} else if (args[2].length()>30){
args[2] = args[2].substring(0,30);
} else {
break;
}
}
while (true){
if (args[3].length()<8){
args[3] += " ";
} else if (args[3].length()>8){
args[3] = args[3].substring(0,8);
} else {
break;
}
}
while (true){
if (args[4].length()<4){
args[4] += " ";
} else if (args[4].length()>4){
args[4] = args[4].substring(0,4);
} else {
break;
}
}
for (int i=0; i<listForLineFromFile.size(); i++){
if(idKey == Integer.parseInt(listForLineFromFile.get(i).substring(0,8).replaceAll(" ",""))){
int indexFromList = listForLineFromFile.indexOf(listForLineFromFile.get(i));
listForLineFromFile.remove(indexFromList);
listForLineFromFile.add(indexFromList,args[1]+""+args[2]+""+args[3]+""+args[4]);
break;
}
}
BufferedWriter fileWriter = null;
try{
fileWriter = new BufferedWriter(new FileWriter(userInputFilePath,StandardCharsets.UTF_8,false));
} catch (IOException e){
e.printStackTrace();
}
for (int i=0; i<listForLineFromFile.size(); i++){
try{
fileWriter.write(listForLineFromFile.get(i)+"\n");
} catch (IOException e){
e.printStackTrace();
}
}
try {
fileReader.close();
fileWriter.close();
} catch (IOException e){
e.printStackTrace();
}
} else if (args.length == 2 && args[0].equals("-d")){
BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));
String filePath = null;
try{
filePath = userInput.readLine();
} catch (IOException e){
e.printStackTrace();
}
BufferedReader fileReader = null;
try{
fileReader = new BufferedReader(new FileReader(filePath,StandardCharsets.UTF_8));
} catch (IOException e){
e.printStackTrace();
}
ArrayList<String> listForLineFromFile = new ArrayList<>();
int index = 0;
try{
while (fileReader.ready()){
String stringLine = fileReader.readLine();
listForLineFromFile.add(stringLine);
if (Integer.parseInt(args[1].replaceAll(" ","")) == Integer.parseInt(stringLine.substring(0,8).replaceAll(" ",""))){
listForLineFromFile.remove(listForLineFromFile.size()-1);
}
}
} catch (IOException e){
e.printStackTrace();
}
BufferedWriter fileWriter = null;
try {
fileWriter = new BufferedWriter(new FileWriter(filePath,StandardCharsets.UTF_8, false));
} catch (FileNotFoundException e){
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
try{
for (int i=0; i<listForLineFromFile.size(); i++){
fileWriter.write(listForLineFromFile.get(i)+"\n");
}
} catch (IOException e){
e.printStackTrace();
}
try{
fileReader.close();
fileWriter.close();
} catch (IOException e){
e.printStackTrace();
}
}
}
}