Уже вариантов решения штуки 3-4 скармливал валидатору, все равно противится =(
package com.javarush.task.task13.task1326;
/*
Сортировка четных чисел из файла
*/
import java.io.*;
import java.util.*;
import java.util.stream.Collectors;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in));
String filePath = consoleReader.readLine();
consoleReader.close();
File file = new File(filePath);
FileInputStream fileInputStream = new FileInputStream(file);
int integer;
List<Long> list = new ArrayList<>();
StringBuilder sb = new StringBuilder();
while ((integer = fileInputStream.read()) != -1) {
sb.append((char) integer);
}
fileInputStream.close();
// String[] strings = sb.toString().split("\r\n");
String[] strings = sb.toString().split(System.lineSeparator());
for (String s : strings) {
try {
list.add(Long.valueOf(s));
} catch (NumberFormatException e) {
list.add(findFirstNumber(s));
}
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i) % 2 != 0) {
list.remove(i);
}
}
Collections.sort(list);
list.forEach(System.out::println);
// FileReader fileReader = new FileReader(file);
/*BufferedReader bufferReadFromFile = new BufferedReader(fileReader);
String integer;
while ((integer = bufferReadFromFile.readLine()) != null) {
list.add(Integer.valueOf(integer));
}
bufferReadFromFile.close();
for (int i = 0; i < list.size(); i++) {
if (list.get(i) % 2 != 0) {
list.remove(i);
}
}*/
}
public static Long findFirstNumber(String s) {
String[] stringChars = s.split("\\s+");
return Long.valueOf(stringChars[0]);
}
}