Вроде всё работает, но валидатор, к сожалению, почему-то не принимает, говорят, что вывод не соответствует заданию.
P.S. Увидел легкий путь решения этой задачи через BufferedReader fileReader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
Но интересно все-таки, что у меня не так
package com.javarush.task.task13.task1326;
/*
Сортировка четных чисел из файла
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
InputStream inStream = new FileInputStream(reader.readLine());
ArrayList<Character> strCh = new ArrayList<>();
while (inStream.available() > 0) {
int data = inStream.read();
strCh.add((char) data);
}
Character[] chars = new Character[strCh.size()];
chars = strCh.toArray(chars);
ArrayList<String> str = new ArrayList<>();
String temp = "";
for (int i = 0; i < chars.length; i++) {
if (chars[i] == '\n') {
str.add(temp);
temp = "";
} else temp += chars[i];
}
ArrayList<Integer> even = new ArrayList<>();
for (String num : str) {
if (num != "") {
if (Integer.parseInt(num) % 2 == 0)
even.add(Integer.parseInt(num));
}
}
Collections.sort(even);
for (int num : even)
System.out.println(num);
inStream.close();
} catch (IOException e) {
e.printStackTrace();
}
finally {
reader.close();
}
}
}