Проверил в блокноте, программа отрабатывает, при передаче без параметров тоже все отрабатывает,файл не трогается. Как его удовлетворить или у меня ошибка?
package com.javarush.task.task18.task1827;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.*;
import java.util.*;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader file=new BufferedReader(new InputStreamReader(System.in));
String filename=file.readLine();
BufferedReader readerfile=new BufferedReader(new FileReader(filename));
BufferedWriter writerfile=new BufferedWriter(new FileWriter(filename,true));
if(args[0].equals("-c"))
{
int temp=0;
String line;
while((line=readerfile.readLine())!=null){
String id=line.substring(0,8);
id=id.replaceAll(" ", "");
int id_n=Integer.parseInt(id);
if (id_n>temp) temp=id_n;
}
String currentid=Integer.toString(temp+1);
String productName=args[1];
String price=args[2];
String quantity=args[3];
if (args[1].length()>30) productName=args[1].substring(0,30);
else for(int i=0;i<30-args[1].length();i++){
productName=productName+" ";
}
if (args[2].length()>8) price=args[2].substring(0,8);
else for(int i=0;i<8-args[2].length();i++){
price=price+" ";
}
if (args[3].length()>4) quantity=args[3].substring(0,4);
else for(int i=0;i<4-args[3].length();i++){
quantity=quantity+" ";
}
writerfile.write(currentid+productName+price+quantity);
}
readerfile.close();
writerfile.close();
}
}