Очень мне сложно с потоками разобраться, комментариями помечу как я понимаю
public class Solution {
    public static void main(String[] args) throws IOException {
        // напишите тут ваш код
        ArrayList<Integer> arrayList = new ArrayList<>();
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));//создаем поток для чтения с клавиатуры
        String path = reader.readLine();//считываем путь к файлу
        InputStream inStream = new FileInputStream(path);//поток чтения из файла
        while (inStream.available() > 0)//пока есть что читать в айле
        {
            int data = reader.read();//считываем ридером данные из файла
            arrayList.add(data);
        }
        reader.close();
        inStream.close();
        Collections.sort(arrayList);
        for (int i = 0; i < arrayList.size(); i++) {
            if(arrayList.get(i)%2==0){
                System.out.println(arrayList.get(i));
            }
        }

    }
}