package com.javarush.task.task18.task1827;
import java.io.*;
import java.util.ArrayList;
import java.util.Formatter;
import java.util.List;
import java.util.TreeSet;
/*
Прайсы
*/
public class Solution {
public static void main(String args[]) {
BufferedWriter bw2 = null;
String fileName = null;
try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
fileName = br.readLine();
} catch (IOException e) {
e.getStackTrace();
}
if (args.length == 4) {
if(args[0].equals("-c")) {
String id = "0";
try {
BufferedReader br2 = new BufferedReader(new FileReader(fileName));
if (!(br2.lines().equals(""))) {
id = br2.readLine();
br2.close();
id = id.substring(0, 8).trim();
int id1 = Integer.parseInt(id) + 1;
id = String.valueOf(id1);
}
bw2 = new BufferedWriter(new FileWriter(fileName));
String s = String.format("%-8s%-30s%-8s%-4s", id, args[1], args[2], args[3]);
char syka[] = new char[s.length()];
s.getChars(0, s.length(), syka, 0);
bw2.write(syka);
bw2.newLine();
} catch (IOException e) {
System.out.println("I/O Error: " + e);
}
finally {
try {
bw2.close();
} catch (IOException e) {
e.getStackTrace();
}
}
}
}
}
}
Народ что тут не так. Только не надопосмотри комменты и все дела, я уже все пересмотрел. Уже все способы перепробовал. Все работает, а валидатор не пропускае. по пунктам 3-5package com.javarush.task.task18.task1827;
import java.io.*;
import java.util.ArrayList;
import java.util.Formatter;
import java.util.List;
import java.util.TreeSet;
/*
Прайсы
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
reader.close();
if (args[0].equals("-c")) {
BufferedReader br = new BufferedReader(new FileReader(s));
int max = 0; //Integer.valueOf(((br.readLine()).substring(0,8)).trim()) это тоже не то
String s1;
while ((s1 = br.readLine()) != null) {
int i = Integer.parseInt((s1.substring(0, 8)).trim());
if (max < i) {
max = i;
}
}
max++;
br.close();
BufferedWriter bw = new BufferedWriter(new FileWriter(s));
String arg1 = args[1].length() > 30 ? args[1].substring(0, 30) : args[1];
String arg2 = args[2].length() > 8 ? args[2].substring(0, 8) : args[2];
String arg3 = args[3].length() > 4 ? args[3].substring(0, 4) : args[3];
String id = String.valueOf(max);
String ss = String.format("%-8s%-30s%-8s%-4s", id, arg1, arg2, arg3);
bw.write(ss);
bw.newLine();
bw.close();
}
}
}