1. Программа должна считывать c консоли имя файла. 2. Создай и используй объект типа BufferedWriter. 3. Программа должна читывать строки с консоли, пока пользователь не введет строку "exit". 4. Программа должна записать абсолютно все введенные строки (включая "exit") в файл, каждую строчку с новой строки. 5. Метод main должен закрывать объект типа BufferedWriter после использования.
public static void main(String[] args) throws IOException {
        // напишите тут ваш код
        BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
//        String fileName = b.readLine();
        String fileName = "D:/NewTxt.txt";

        ArrayList<String> l = new ArrayList<>();

        String tmp = "";
        while ( !tmp.equals("exit"))
        {
            tmp = b.readLine();
            l.add(tmp + "\r\n");
        }
        BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));
            for (String s : l)
            {
                bw.write(s);
            }
            bw.close();
    }
Всё записывает в файл, каждая строка с новой строки, включая exit. Где я ошибся?