В чем причина? Все пункты которые не принимает, работают. Программа должна выводить данные на экран. Программа должна вывести на экран все четные числа считанные из файла отсортированные по возрастанию. Программа должна закрывать поток чтения из файла(FileInputStream).
public class Solution {
    public static void main(String[] args)throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        InputStream fileName = new FileInputStream(reader.readLine());
        BufferedInputStream fileReader = new BufferedInputStream(fileName);

        String text="";

        while(fileReader.available()>0){
            text = text+String.valueOf((char)fileReader.read());
        }

        fileName.close();

        String [] textArray = text.split(" ");
        ArrayList<Integer> even = new ArrayList<>();

        for (String word: textArray){
            int isEven = Integer.parseInt(word);
            if (isEven%2==0){
                even.add(isEven);
            }
        }

        Collections.sort(even);
        for(int i:even){
            System.out.println(i);
        }

    }
}
П.С. подскажите как обернуть в try catch блок ввода имени файла, чтобы программа дальше не выполнялась, пока не будет указан существующий файл