Не могу понять в чем дело. Проверил с числами из примера, выдает все правильно.
package com.javarush.task.task13.task1326;
/*
Сортировка четных чисел из файла
*/
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
public class Solution {
public static void main(String[] args) {
try {
//Считываем с консоли имя файла
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//Читаем файл
BufferedInputStream input = new BufferedInputStream(new FileInputStream(reader.readLine()));
ArrayList<Integer> nums = new ArrayList<Integer>();
StringBuilder s = new StringBuilder();
//Заполняем лист считанных чисел
while (input.available()>0) {
char ch = (char)input.read();
if (ch == '\r') {
nums.add(Integer.parseInt(s.toString()));
s = new StringBuilder();
} else if (ch != '\n') s.append(ch);
}
nums.add(Integer.parseInt(s.toString()));
//Сортируем лист
Collections.sort(nums);
//Копируем четные числа в лист четных чисел
ArrayList<Integer> even = new ArrayList<Integer>();
for (int i : nums) {
if (i % 2 == 0) {
even.add(i);
}
}
//Выводим лист четных чисел
for (int j : even) {
System.out.println(j);
}
//Закрываем потоки
reader.close();
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}