Написал код, стараюсь использовать буфферизированные чтение и запись, а так же использую try с ресурсами. Всё работает на ура... но только в IntelliJ. Тут же валидатор ругался на всё: BufferedReader должен использовать метод close(), но зачем, если я использую try с ресурсами, который сам всё закроет. Ругался и на BufferedReader(new FileReader). В итоге, что бы валидатор принял, пришлось делать всё через обычный try и самому закрыть все потоки. Посмотрите изначальный код, может быть я чего то не догоняю и я допускаю какую то ошибку?
public static void main(String[] args) {
        String file1 = "";
        String file2 = "";
        ArrayList<Integer> fileContext = new ArrayList<>();


        try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
            file1 = reader.readLine();
            file2 = reader.readLine();
        } catch (IOException e) {
            System.out.println("Ошибка чтения имени файла.");
        }

        try (BufferedReader fileReader = new BufferedReader(new FileReader(file1));
             BufferedWriter fileWriter = new BufferedWriter(new FileWriter(file2))) {
            int c;
            while ((c = fileReader.read()) != -1) {
                fileContext.add(c);
            }
            for (int i = 1; i < fileContext.size(); i+=2) {
                fileWriter.write(fileContext.get(i));
            }
        } catch (IOException e) {
            System.out.println("Ошибка чтения/записи.");
        }
    }