Единственный косяк который вижу с своем коде - файл для чтения обязательно должен заканчиваться командой "/n", т.е. перевод на новую строку. Без этого не пишется в массив последнее считанное значение. А так вроде работает - числа собираются и преобразуются в инт.
package com.javarush.task.task13.task1326;
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
/*
Сортировка четных чисел из файла
*/
public class Solution {
public static void main(String[] args) throws IOException {
InputStreamReader scannerfileName = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(scannerfileName);
String fileName = br.readLine();
scannerfileName.close();
br.close();
FileInputStream fis = new FileInputStream(fileName);
BufferedInputStream bufReader = new BufferedInputStream(fis);
List<Integer> massivNumbers = new ArrayList<>();
int i = 0;
String str = "";
while ((i = bufReader.read()) != -1) {
System.out.println(i);
if (i != 10) {
str = str + String.valueOf((char)i);
// System.out.println("Собрали число " + str);
// System.out.println("*********");
// System.out.println(i);
}
else {
if ((Integer.parseInt(str) % 2) == 0) {
// System.out.println("Пишем в массив число " + Integer.parseInt(str));
massivNumbers.add(Integer.parseInt(str));
}
str = "";
continue;
}
}
fis.close();
bufReader.close();
Collections.sort(massivNumbers);
// System.out.println("*********");
for (Integer inter : massivNumbers) {
System.out.println(inter);
}
}
}