Подскажите, плз, что я не учел. Вроде все проверки сделал, а валидацию по последним четырем пунктам не проходит. Пишет даже, что потоки записи не закрыл 0_о
package com.javarush.task.task18.task1827;
import java.io.*;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String bd = reader.readLine();
File file = new File(bd);
reader.close();
// BufferedWriter bw = new BufferedWriter(new FileWriter(bd, true));
if (args.length == 0)
return;
if ((args.length >3) && (args[0].equals("-c"))) {
String lastString = null;
if(file.exists()) {
BufferedReader br= new BufferedReader(new FileReader(file));
while (br.ready())
lastString = br.readLine();
br.close();
}
Integer lastID = 0;
if (lastString != null) {
lastString = lastString.substring(0,8).trim();
lastID = Integer.parseInt(lastString);
}
lastID++;
// формирую первый блок данных
String first = lastID.toString();
// формирую второй блок данных
StringBuilder sb = new StringBuilder();
for (int i=1;i<(args.length-2); i++)
sb.append(args[i]).append(" ");
String second = sb.toString();
// формирую четвертый блок данных
String third = args[args.length-2];
String fourth = args[args.length-1];
PrintWriter pw = new PrintWriter(new BufferedWriter (new FileWriter(file, true)));
// pw.println();
pw.printf("%-8.8s%-30.30s%-8.8s%-4.4s", first, second, third, fourth);
pw.close();
}
}
}