Что не так, подскажите. Вот пример отображения в файле:
1 паруса 100 5
2 паруса 100 5
3 паруса 100 5
4 паруса 100 5
5 паруса 100 5
package com.javarush.task.task18.task1827;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
//System.setIn(new ByteArrayInputStream("file.txt".getBytes()));
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String fileName = bufferedReader.readLine();
if (args.length == 0)
return;
if (args[0].equals("-c")) {
BufferedReader br = new BufferedReader(new FileReader(fileName));
List<String> list = new ArrayList<>();
String line;
while ((line = br.readLine()) != null)
list.add(line);
int max = 0;
for (String s : list) {
int n = Integer.parseInt(s.substring(0, 8).trim());
if (n > max)
max = n;
}
String productName = args[1];
String price = args[2];
String quantity = args[3];
StringBuilder sb = new StringBuilder();
sb.append(++max).append(setWhitespace(8 - String.valueOf(max).length()));
sb.append(productName).append(setWhitespace(30 - productName.length()));
sb.append(price).append(setWhitespace(8 - price.length()));
sb.append(quantity).append(setWhitespace(4 - quantity.length()));
sb.append("\n");
System.out.println(sb);
FileWriter fw = new FileWriter(fileName, true);
fw.append(sb.toString());
br.close();
fw.close();
}
}
public static String setWhitespace(int number) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < number; i++)
sb.append(" ");
return sb.toString();
}
}