Чутка поплыл и не понимаю, почему с файлом ничего не происходит (во время тестирования). Прошу помочь:)
P.S. Знаю, что код местами дублируется и можно было бы в некоторых местах объединить и сократить код
package com.javarush.task.task18.task1828;
/*
Прайсы 2
*/
import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String filename = reader.readLine();
int id;
if (args.length > 0 && args[0].equals("-d")) {
try (BufferedReader reader1 = new BufferedReader(new FileReader(filename))) {
ArrayList<String> list = new ArrayList<>();
while (true) {
String stroka = reader1.readLine();
if(stroka==null||stroka.equals("")) {
reader1.close();
break;
}
id = Integer.parseInt(stroka.substring(0, 8).trim());
if (id != Integer.parseInt(args[1])) {
list.add(stroka);
}
}
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) {
for(int i=0; i<list.size();i++) {
writer.write(list.get(i));
writer.newLine();
}
writer.close();
}
}
}
if (args.length > 0 && args[0].equals("-u")) {
try (BufferedReader reader1 = new BufferedReader(new FileReader(filename))) {
ArrayList<String> list = new ArrayList<>();
while (true) {
String stroka = reader1.readLine();
if(stroka==null||stroka.equals("")) {
reader1.close();
break;
}
id = Integer.parseInt(stroka.substring(0, 8).trim());
if (id != Integer.parseInt(args[1])) {
list.add(stroka);
} else {
list.add(String.format("%-8d%-30.30s%-8.8s%-4.4s", id, args[1], args[2], args[3]));
}
reader1.close();
}
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) {
for (int i = 0; i < list.size(); i++) {
writer.write(list.get(i));
writer.newLine();
}
writer.close();
}
}
}
}
}
//C:\Users\Иван\Desktop\lol.txt