public class Solution {
    public static void main(String[] args) throws IOException {

        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        File file = new File(reader.readLine());
        BufferedWriter writer = new BufferedWriter(new FileWriter(file));
        boolean b = true;
        while(b){
            String s = reader.readLine();
            if(!s.equals("exit")) {
                writer.write(s);
                writer.newLine();
            } else {
                writer.write("exit");
                b = false;
            }
        }

        writer.close();
        reader.close();
    }
}
Вроде все работает хорошо, считывает строки с клавиатуры, после чего добавляет их в файл, но после слова "exit" происходит какая то магия. НЕсмотря на то, что программа завершает свое выполнение (как и должна) в файл записывается миллионы символов квадратика (видимо что то с кодировкой)? создавая файл на 20 Гб за несколько секунд.