title: PrintWriter not writing to file, tried adding flush() and close() Java
body: <p>Tried to write to a file. Did my research, made sure to flush and close. I thought that perhaps it was reading the message box blank and was writing nothing, but did a System.out.println to make sure it was reading correctly, and it is. so Not sure now.</p>
  
  <p>Original Code:</p>
  
  <pre><code>import java.awt.*;
  import java.awt.event.*;
  import java.applet.*;
  import java.io.*;
  
  public class Form extends Applet implements ActionListener{
  private TextField first = new TextField("First Name",12);
  private TextField middle = new TextField("I",1);
  private TextField last = new TextField("Last Name",15);
  private TextField address = new TextField("Address",25);
  private TextField city = new TextField("City",20);
  private TextField state = new TextField("State",2);
  private TextField zip = new TextField("Postal Code",10);
  private Button submit =new Button("Submit");
  private Button reset = new Button("Reset");
  private Button save = new Button("Save");
  private Button enlarge = new Button("Enlarge");
  private TextArea message = new TextArea();
  
  
  public void init()
  {
      GridBagLayout gbl = new GridBagLayout();
      setLayout(gbl);
      GridBagConstraints c = new GridBagConstraints();
      c.anchor = GridBagConstraints.WEST;
      c.weightx=1.0;
      c.weighty=1.0;
      c.fill=GridBagConstraints.HORIZONTAL;
      c.insets=new Insets(5,5,5,5);
      gbl.setConstraints(first,c); add(first);
      c.fill=GridBagConstraints.NONE;
      gbl.setConstraints(middle,c); add(middle);
      c.fill=GridBagConstraints.HORIZONTAL;
      gbl.setConstraints(last,c); add(last);
      c.gridy=1;
      gbl.setConstraints(address,c); add(address);
      c.gridy=2;
      gbl.setConstraints(city,c); add(city);
      c.fill=GridBagConstraints.NONE;
      gbl.setConstraints(state,c); add(state);
      c.gridy=3;
      gbl.setConstraints(zip,c); add(zip);
      c.gridy=4;
      c.anchor = GridBagConstraints.CENTER;
      gbl.setConstraints(submit,c);add(submit);
      gbl.setConstraints(reset,c); add(reset);
      c.gridy=5;
      c.anchor = GridBagConstraints.CENTER;
      gbl.setConstraints(save, c); add(save);
      gbl.setConstraints(enlarge, c); add(enlarge);
      c.gridy=6;
      c.gridwidth=3;
      c.fill=GridBagConstraints.BOTH;
      gbl.setConstraints(message,c);add(message);
      submit.addActionListener(this);
      reset.addActionListener(this);
      enlarge.addActionListener(this);
      save.addActionListener(this);
  }
  public void actionPerformed(ActionEvent event)
  {
  
      String initial = middle.getText();
      String a=message.getText();
      if (initial != null)
          initial +=". ";
      Object source = event.getSource();
      if (source == submit)
      {
  
          message.setText(first.getText()+ ' ' +initial+last.getText());
          message.append('\n'+address.getText());
          message.append('\n'+city.getText()+", " +state.getText());
          message.append(' ' +zip.getText());
          message.append("\n\nYour message:\n"+a);
      }
      else if (source == reset)
      {
          message.setText("");
          first.setText("");
          middle.setText("");
          last.setText("");
          address.setText("");
          city.setText("");
          state.setText("");
          zip.setText("");
  
      }
      else if (source == enlarge)
  
      {
          message.setFont(new Font("Serif", Font.PLAIN, 14));
          message.setForeground(Color.BLUE);
          message.setText(a);
      }
      else if (source == save)
      {
          try{
  
  
          File file=new File("savedMessage.txt");
          PrintWriter pw = new PrintWriter(file);
                  pw.println(message.getText());
                  //message.setText("Print was successful")
                  pw.flush();
                  pw.close();
                  System.out.println(message.getText());
          }
          catch (FileNotFoundException e) {
              e.printStackTrace();
              System.err.println("Error: " + e.getMessage());
  
          } catch (IOException e) {
              e.printStackTrace();
              System.err.println("Error: " + e.getMessage());
          }
  
      }
  
  }
  </code></pre>
  
  <p>}</p>
  
  <p>Here is the code that was used to Fix the problem:</p>
  
  <pre><code>    else if (source == save)
      {
          try{
              f = new File("savedMessage.txt");
              bw = new BufferedWriter(new FileWriter(f,true));
              bw.write(message.getText());
              if(f.canWrite()){
              System.out.println("Success");
              }
              }
  
          catch (FileNotFoundException e) {
              e.printStackTrace();
              System.err.println("Error: " + e.getMessage());
  
          } catch (IOException e) {
              e.printStackTrace();
              System.err.println("Error: " + e.getMessage());
          }
      finally{
  
              try {
                  bw.close();
              } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
  </code></pre>