Запускаю программу со следующими параметрами:
-c "Куртка для лыжников" 100.01 12
Содержимое файла до записи:
19846 Шорты пляжные синие 159.00 12
198478 Шорты пляжные черные с рисунко173.00 17
19847983Куртка для сноубордистов, разм10173.991234
После записи
19846 Шорты пляжные синие 159.00 12
198478 Шорты пляжные черные с рисунко173.00 17
19847983Куртка для сноубордистов, разм10173.991234
19847984Куртка для лыжников 100.01 12
package com.javarush.task.task18.task1827;
/*
Прайсы
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
if (args.length < 3) {
return;
}
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
if ("-c".equals(args[0])) {
BufferedReader bufferedReader = new BufferedReader(new FileReader(new File(fileName)));
String content = "";
int maxId = Integer.MIN_VALUE;
String line;
while ((line = bufferedReader.readLine()) != null) {
content = content + line + "\n";
String id = line.substring(0, 8);
String idRep = id.replace(" ", "");
int number = Integer.parseInt(idRep);
if (maxId < number) {
maxId = number;
}
}
bufferedReader.close();
String nextId = maxId + 1 + "";
String prodName = String.format("%-30.30s", args[1]);
String price = String.format("%-8.8s", args[2]);
String nId = String.format("%-8.8s", nextId);
String quantity = String.format("%-4.4s", args[3]);
String newLine = nId + prodName + price + quantity;
content = content + newLine;
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(new File(fileName)));
// bufferedWriter.newLine();
bufferedWriter.write(content);
bufferedWriter.close();
}
}
}