Почему на 23 строчке у меня зачищается файл?
package com.javarush.task.task18.task1828;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
/*
Прайсы 2
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String path = reader.readLine();
ArrayList<String> list = new ArrayList();
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
OutputStreamWriter pr = new OutputStreamWriter(new FileOutputStream(path))) {
if (args.length != 0 && args[0].equals("-u")) {
String a;
System.out.println(br.readLine());
while ((a = br.readLine()) != null) {
String b = a.substring(0, 7);
String c = b.trim();
if (!c.equals(args[1])) {
list.add(a);
} else {
String strb = String.format("%-8.8s", args[1]) +
String.format("%-30.30s", args[2]) +
String.format("%-8.8s", args[3]) +
String.format("%-4.4s", args[4]);
list.add(strb);
}
}
for(String e : list) {
System.out.println(e);
pr.write(e);
pr.write("\n");
}
} else if (args.length != 0 && args[0].equals("-d")) {
String a;
while ((a = br.readLine()) != null) {
String b = a.substring(0, 7);
String c = b.trim();
if (!c.equals(args[1])) {
list.add(a);
}
}
for(String e : list) {
pr.write(e);
pr.write("\n");
}
}
}
}
}