Не пойму в чем проблема, если СБ данные обнуляют содержимое файла
package com.javarush.task.task18.task1828;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.io.*;
/*
Прайсы 2
*/
public class Solution {
public static void main(String[] args) throws Exception{
BufferedReader readName = new BufferedReader(new InputStreamReader(System.in));
String fileName=readName.readLine(), line;
readName.close();
if(args.length==5&&args[0].equals("-u")) {
BufferedReader reader= new BufferedReader(new FileReader(fileName));
BufferedWriter writer=new BufferedWriter(new FileWriter(fileName));
StringBuffer sb=new StringBuffer();
while ((line = reader.readLine()) != null) {
if(line.substring(0,8).equals(String.format("%-8s", String.valueOf(Integer.parseInt(args[1].trim()))))){
sb.append(String.format("%-8s%-30s%-8s%-4s",String.valueOf(Integer.parseInt(args[1].trim())), args[2], args[3], args[4]));
sb.append(System.lineSeparator());
}
else {
sb.append(line);
sb.append(System.lineSeparator());
}
}
reader.close();
writer.write(sb.toString());
writer.close();
}
else if(args.length==2&&args[0].equals("-d")) {
BufferedReader reader= new BufferedReader(new FileReader(fileName));
BufferedWriter writer=new BufferedWriter(new FileWriter(fileName));
StringBuffer sb=new StringBuffer();
while ((line = reader.readLine()) != null) {
if(line.substring(0,8).equals(String.format("%-8s", String.valueOf(Integer.parseInt(args[1].trim()))))) {
continue;
}
else {
sb.append(line);
sb.append(System.lineSeparator());
}
reader.close();
writer.write(sb.toString());
writer.close();
}
}
}
}