Уже третий час сижу, не могу понять что не так. Помогите, пожалуйста, найти ошибку.
package com.javarush.task.task18.task1827;
/*
Прайсы
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import static java.lang.Math.max;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String fileName = reader.readLine();
if(args.length > 0 && args[0].equals("-c")) {
BufferedReader inStream = new BufferedReader(new FileReader(fileName));
int d;
int mx = 0;
while(inStream.ready()) {
d = Integer.parseInt(inStream.readLine().substring(0, 8).trim());
mx = max(mx, d);
}
inStream.close();
BufferedWriter outStream = new BufferedWriter(new FileWriter(fileName, true));
String id = String.valueOf(mx);
String pn = args[1];
String pr = args[2];
String qu = args[3];
while(id.length() < 8) {
id = id + " ";
}
while(pn.length() < 30) {
pn = pn + " ";
}
while(pr.length() < 8) {
pr = pr + " ";
}
while(qu.length() < 4) {
qu = qu + " ";
}
outStream.write(System.lineSeparator() + id.substring(0, 8) + pn.substring(0, 30) + pr.substring(0, 8) + qu.substring(0, 4));
outStream.close();
}
}
}