Добрый день всем! Типичная история - все работает локально, а валидатор не принимает. Подскажите, что где не так).
package com.javarush.task.task18.task1827;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
File fileName = new File(bufferedReader.readLine());
bufferedReader.close();
if (args.length == 0) return;
if (args[0].equals("-c")) {
String name = "";
for (int i = 1; i < args.length - 2; i++) {
name += args[i] + " ";
}
String fullLine = "\n" + getFormat(getId(fileName), 8)
+ getFormat(name, 30)
+ getFormat(args[args.length-2], 8)
+ getFormat(args[args.length-1], 4);
FileOutputStream writer = new FileOutputStream(fileName, true);
writer.write(fullLine.getBytes());
writer.close();
//System.out.println(name);
//System.out.println(fullLine);
}
}
public static String getId(File fileName) throws IOException {
FileInputStream reader = new FileInputStream(fileName);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(reader));
String line;
int max = 0;
while ((line = bufferedReader.readLine()) != null) {
try {
int temp = Integer.parseInt(line.substring(0, 8));
if (temp > max) {
max = temp;
}
} catch(NumberFormatException nfe) {}
}
reader.close();
bufferedReader.close();
int maxFinal = ++max;
//System.out.println(maxFinal);
return "" + maxFinal;
}
public static String getFormat(String str, int size){
String temp = String.format("%-" + size + "s", str);
String formatted = temp.substring(0, size);
//System.out.println(formatted);
return formatted;
}
}