Не пойму ничего,
- строка добавляется, с новой строки
- id увеличивается
- форматирование соответствует
- и ПОТОКИ закрываются!
package com.javarush.task.task18.task1827;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы
*/
//19847983 "Куртка для сноубордистов, размер XXL" 10173.99 1234
//-c "Куртка для сноубордистов, размер XXL" 11730.99 1234
//id - 8, Name - 30, Price - 8, кол-во - 4
// String fileName = "E:/temp/Javarush/task1827/price.txt";
//D:/Temp/javarush/task1827/price.txt
public class Solution {
public static void main(String[] args) throws Exception {
if (args.length > 0 && args[0].equals("-c")) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
BufferedReader fileReader = new BufferedReader(new FileReader(fileName));
int id = 0;
int readId;
while (fileReader.ready()) {
String str = fileReader.readLine();
if (str.length() != 0) {
readId = Integer.parseInt(str.substring(0, 8).trim());
if (readId > id) {
id = readId;
}
}
}
fileReader.close();
id += 1;
BufferedWriter fileWrite = new BufferedWriter(new FileWriter(fileName, true));
String name = args[1].substring(0, 30);
float price = Float.parseFloat(args[2].trim());
int count = Integer.parseInt(args[3].trim());
String strOut = String.format("\n%-8.8s%-30.30s%-8.8s%-4.4s", id, args[1].trim(), args[2].trim(), args[3].trim());
fileWrite.write(strOut);
fileWrite.close();
}
}
}