Укажите мне что я делаю не так, в файл врайтере указывал и тру, но не понимаю как сделать так что бы он записывал старый файл заново( в котором предположительно есть информация) т.е. без тру и при этом не перезаписывал свои строки т.е. с тру. Прошу помощи, отзовитесь)))
package com.javarush.task.task18.task1828;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы 2
*/
public class Solution {
public static void main(String[] args) throws IOException {
if ((args.length > 0) && (args[0].equals("-u")) || (args[0].equals("-d"))) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
reader.close();
FileReader fileReader = new FileReader(s);
FileWriter fileWriter = new FileWriter(s);
int nextId = Integer.parseInt(args[1].trim());
BufferedReader newReader = new BufferedReader(fileReader);
ArrayList<String> arrayList = new ArrayList<String>();
String l;
String format = String.format("%-8d%-30.30s%-8.2f%-4d", nextId, args[2], Double.parseDouble(args[3]), Integer.parseInt(args[4]));
while ((l = newReader.readLine()) != null) {
int i = Integer.parseInt(l.substring(0, 8).trim());
if (i == nextId) {
if (args[0].equals("-u")) {
arrayList.add(format);
} else if (args[0].equals("-d")) {
continue;
}
} else {
arrayList.add(l);
}
}
fileReader.close();
newReader.close();
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
for (String s1 : arrayList) {
bufferedWriter.write(s1);
bufferedWriter.newLine();
}
fileWriter.close();
}
}
}