Все работает, хотя и говнокод жуткий, много переписывал его просто, обычно пишу получше)
package com.javarush.task.task18.task1828;
/*
Прайсы 2
*/
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Iterator;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader1 = new BufferedReader(new InputStreamReader(System.in));
String file1 = reader1.readLine();
reader1.close();
ArrayList<String> strings = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(
new FileInputStream(file1), StandardCharsets.UTF_8))) {
String line;
while ((line = reader.readLine()) != null) {
strings.add( line+ "\n");
}
} catch (IOException e) {
}
Iterator<String> fruitIterator = strings.iterator();
while (fruitIterator.hasNext()) {
String fruit = fruitIterator.next();
char[] chars = fruit.toCharArray();
StringBuilder str = new StringBuilder();
for (int i = 0; i < 8; i++) {
str.append(chars[i]);
str = new StringBuilder(str.toString().trim());
}
if (str.toString().equals(args[1])) {
if (args[0].equals("-d")) {
fruitIterator.remove();
}
}
}
for (int i = 0; i < strings.size(); i++) {
String fruit = strings.get(i);
char[] chars = fruit.toCharArray();
StringBuilder str = new StringBuilder();
for (int j = 0; j < 8; j++) {
str.append(chars[j]);
str = new StringBuilder(str.toString().trim());
}
if (str.toString().equals(args[1])) {
if (args[0].equals("-u")) {
System.out.println("3242342347321685980890");
strings.set(i, String.format("%-8s", args[1]) + String.format("%-30s", args[2]) + String.format("%-8s", args[3]) + String.format("%-4s", args[4])+"\n");
}
}
}
FileWriter writer1 = new FileWriter("temp.txt", true);
BufferedWriter bufferWriter = new BufferedWriter(writer1);
for (String line : strings
) {
if (line != null) {
System.out.println(line);
bufferWriter.write(line);
}
}
bufferWriter.close();
File file = new File(file1);
file.delete();
File file2 = new File("temp.txt");
file2.renameTo(file);
}
}