Скорее всего вопрос из тупых, ибо уже давно должно быть понимание этого процесса, но застрял на том, что походу при считывании файл затирается, строку из параметров программа клепает как надо, только id получается 1 (т. е. ++0), ибо не с чем сравнивать.
package com.javarush.task.task18.task1827;
/*
Прайсы
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
if (args[0].equals("-c")) {
BufferedReader readerFile = new BufferedReader(new FileReader(fileName));
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
int max = 0;
while (readerFile.ready()) {
String x = readerFile.readLine().substring(0, 8).trim();
if (Integer.parseInt(x) > max) max = Integer.parseInt(x);
}
readerFile.close();
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(max);
while (stringBuilder.length() != 8) stringBuilder.append(" ");
stringBuilder.append(args[1]);
while (stringBuilder.length() != 38) stringBuilder.append(" ");
stringBuilder.append(args[2]);
while (stringBuilder.length() != 46) stringBuilder.append(" ");
stringBuilder.append(args[3]);
while (stringBuilder.length() != 50) stringBuilder.append(" ");
writer.write(String.valueOf(stringBuilder));
writer.close();
}
}
}