title: BufferedWriter is not writing a new line in a file for a String having "\n" added to it
body: <p>I was trying some stuff in Swing (Java), but getting very strange results.</p>
  
  <p>I am getting a String from <code>JTextArea.getText()</code> method and adding "\n" to it. This resultant string I am writing into a file, using <code>BufferedWriter</code> which is chaining through <code>FileOutputStream</code> to a file. But the new line character  "\n" is not creating new line in the .txt file.</p>
  
  <p>How can I fix this issue?</p>
  
  <p>My Code is here:</p>
  
  <pre><code>package quizCardGame;
  
  import java.awt.*;
  import java.awt.event.*;
  import java.io.*;
  import java.util.ArrayList;
  import javax.swing.*;
  
  public class QuizCardBuilder extends JFrame {
  private static final long serialVersionUID = 1L;
  
  private JTextArea question;
  private JTextArea answer;
  private Font font;
  private ArrayList&lt;QuizCard&gt; deck;
  private int countOfDeck;
  private JLabel countLable;
  
  public QuizCardBuilder() {
      super();
      deck = new ArrayList&lt;QuizCard&gt;();
      buildGUI();
  
  }
  
  public static void main(String[] args) {
      QuizCardBuilder app = new QuizCardBuilder();
  }
  
  public void buildGUI() {
      font = new Font(Font.SERIF, Font.BOLD, 12);
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
      JPanel panel = new JPanel();
      this.getContentPane().add(BorderLayout.CENTER, panel);
  
      JPanel stats = new JPanel();
      countLable = new JLabel("Count: " + countOfDeck);
      stats.add(countLable);
  
      this.getContentPane().add(BorderLayout.SOUTH, stats);
  
      JLabel qLable = new JLabel("Question");
      panel.add(qLable);
  
      question = new JTextArea(5, 30);
      question.setLineWrap(true);
      question.setWrapStyleWord(true);
      question.setFont(font);
  
      JScrollPane qScroller = new JScrollPane(question);
      qScroller
              .setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
      qScroller
              .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  
      panel.add(qScroller);
  
      JLabel aLable = new JLabel("Answer");
      panel.add(aLable);
  
      answer = new JTextArea(5, 30);
      answer.setLineWrap(true);
      answer.setWrapStyleWord(true);
      answer.setFont(font);
  
      JScrollPane aScroller = new JScrollPane(answer);
      aScroller
              .setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
      aScroller
              .setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  
      panel.add(aScroller);
  
      JButton nextButton = new JButton("Next");
      nextButton.addActionListener(new NextCardListener());
  
      panel.add(nextButton);
  
      JMenuBar menuBar = new JMenuBar();
      JMenu fileMenu = new JMenu("File");
      JMenuItem newMenuItem = new JMenuItem("New");
      JMenuItem saveMenuItem = new JMenuItem("Save");
  
      fileMenu.add(newMenuItem);
      fileMenu.add(saveMenuItem);
      menuBar.add(fileMenu);
      this.setJMenuBar(menuBar);
  
      newMenuItem.addActionListener(new NewMenuListener());
      saveMenuItem.addActionListener(new SaveMenuListener());
  
      this.setSize(350, 350);
      this.setVisible(true);
  }
  
  public class SaveMenuListener implements ActionListener {
  
      @Override
      public void actionPerformed(ActionEvent e) {
          deck.add(new QuizCard(question.getText(), answer.getText()));
  
          JFileChooser fileSave = new JFileChooser();
          fileSave.showSaveDialog(null);
          saveFile(fileSave.getSelectedFile());
      }
  
  }
  
  public void saveFile(File file) {
  
      try {
          BufferedWriter bw = new BufferedWriter(new FileWriter(file));
          for (QuizCard card : deck) {
              bw.write(card.getQuestion() + "/");
              bw.write(card.getAnswer() + "\n");
          }
  
          bw.close();
      } catch (IOException e) {
          e.printStackTrace();
      }
  
  }
  
  public class NewMenuListener implements ActionListener {
  
      @Override
      public void actionPerformed(ActionEvent e) {
          deck.clear();
          countOfDeck = deck.size();
          countLable.setText("Count: " + countOfDeck);
          clearText();
      }
  
  }
  
  public class NextCardListener implements ActionListener {
  
      @Override
      public void actionPerformed(ActionEvent e) {
          deck.add(new QuizCard(question.getText(), answer.getText()));
          countOfDeck = deck.size();
          countLable.setText("Count: " + countOfDeck);
          clearText();
      }
  
  }
  
  private void clearText() {
      question.setText("");
      answer.setText("");
  }
  
  }
  </code></pre>