BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = reader.readLine();
        reader.close();
        FileReader fileReader = new FileReader(s);
        BufferedReader bufferedReader = new BufferedReader(fileReader);
        FileWriter fileWriter = new FileWriter(s);
        List<String> strings = new ArrayList<>();

        while (bufferedReader.ready()) {
            String string = bufferedReader.readLine();
            strings.add(string);
        }
Почему этот код затирает все данные в файле и ничего не добавляет в лист, а если закоментить 6 строку - все нормально работает? Мои предположения что виноват String pool, хотя в bufferedReader передается корректное имя FileReader'a. А FileWriter пока вообще не используется. Неужели bufferedReader думает, что ему передали имя FileWriter'a и начинает записывать данные вместо чтения с FileReader'a хотя он же не bufferedWriter? Или я не должен создавать FileWriter пока он не нужен?