подскажите где я накосячил?
Новый вариант:
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.length > 0 && args[0].equals("-c") && args[1] !=null && args[2]!=null && args[3]!=null){
BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName));
String strNumber;
int number;
int maxNumber = Integer.MIN_VALUE;
strNumber = "";
while (bufferedReader.ready() && strNumber != null){
strNumber = bufferedReader.readLine();
strNumber = strNumber.substring(0, 8).trim();
number = Integer.parseInt(strNumber);
if (number > maxNumber)
maxNumber = number;
}
bufferedReader.close();
Integer id = maxNumber + 1;
String productName = args[1];
while (productName.length() < 30)
productName += " ";
if (productName.length() > 30)
productName = productName.substring(0, 30);
String price = args[2];
while (price.length() < 8)
price += " ";
if (price.length() > 8)
price = price.substring(0, 8);
String quantity = args[3];
while (quantity.length() < 4)
quantity += " ";
if (quantity.length() > 4)
quantity = quantity.substring(0, 4);
FileOutputStream fileOutputStream = new FileOutputStream(fileName);
String strId = String.valueOf(id);
while (strId.length() < 8){
strId += " ";
}
String strFinal = "\n" + strId + productName + price + quantity;
fileOutputStream.write(strFinal.getBytes());
fileOutputStream.flush();
fileOutputStream.close();
}
}
}package com.javarush.task.task18.task1827;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
/*args = new String[]{"-c", "Яблоки", "150.99", "10"};
System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[2]);
System.out.println(args[3]);
System.out.println(Integer.parseInt("15"));*/
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
reader.close();
if (args.length > 0 && args[0].equals("-c")){
BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName));
String strNumber;
int number;
List<Integer> listNumber = new ArrayList<Integer>();
int maxNumber = Integer.MIN_VALUE;
strNumber = "";
while (bufferedReader.ready()){
strNumber = bufferedReader.readLine();
strNumber = strNumber.substring(0, 7).trim();
number = Integer.parseInt(strNumber);
listNumber.add(number);
}
bufferedReader.close();
for (int i = 0; i < listNumber.size(); i++) {
if (listNumber.get(i) > maxNumber) {
maxNumber = listNumber.get(i);
}
}
Integer id = maxNumber + 1;
String productName = args[1];
while (productName.length() < 30)
productName += " ";
if (productName.length() > 30)
productName = productName.substring(0, 29);
String price = args[2];
while (price.length() < 8)
price += " ";
if (price.length() > 8)
price = price.substring(0, 7);
String quantity = args[3];
while (quantity.length() < 8)
quantity += " ";
if (quantity.length() > 8)
quantity = quantity.substring(0, 7);
FileOutputStream fileOutputStream = new FileOutputStream(fileName);
String strId = String.valueOf(id);
while (strId.length() < 8){
strId += " ";
}
fileOutputStream.write(("\n" + id + productName + price + quantity).getBytes());
fileOutputStream.close();
}
}
}