Сортировка четных чисел из файла

Задача:

1. Ввести имя файла с консоли.
2. Прочитать из него набор чисел.
3. Вывести на консоль только четные, отсортированные по возрастанию.

Требования:

  • Программа должна считывать данные с консоли.
  • Программа должна создавать FileInputStream для введенной с консоли строки.
  • Программа должна выводить данные на экран.
  • Программа должна вывести на экран все четные числа считанные из файла отсортированные по возрастанию.
  • Программа должна закрывать поток чтения из файла(FileInputStream).

Решение:


import java.io.*;
import java.util.ArrayList;
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file = reader.readLine();
ArrayList numbers = new ArrayList<>();
BufferedReader readFile = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
String line;
while((line = readFile.readLine()) != null) {
numbers.add(Integer.parseInt(line));
}
numbers.sort(null);
for(Integer i : numbers) {
if(i % 2 == 0) {
System.out.println(i);
}}
reader.close();
readFile.close();
}}