java读写文件并且可以清空

创建窗体,在窗体上添加三个按钮,“读文件”,“写文件”,“清空”。
要求:
点击“读文件”按钮读取文件的内容,并显示在文本域中;
点击“写文件”按钮将 中
点击“清空”按钮,清楚文本域中的内容。
输入答案



```java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.filechooser.FileNameExtensionFilter;
 
public class Notepad extends JFrame implements ActionListener{
 
   JTextArea jta = null;
   JScrollPane jsp = null;
   // 菜单条
   JMenuBar jmb = null;
   // 第一个JMenu
   JMenu file = null;
   JMenuItem open = null;
   JMenuItem save = null;
   JMenuItem clean = null;
   JMenuItem exit = null;
   public static void main(String[] args){
      new Notepad();
   }
   
   Notepad() {
      jta = new JTextArea();
      jsp = new JScrollPane(jta);
      jmb = new JMenuBar();
      file = new JMenu("文件(F)");
      // 设置助记符:使用alt+F可以激活相应的事件
      file.setMnemonic('F');
      open = new JMenuItem("打开(O)");
      open.setMnemonic('O');
      save = new JMenuItem("保存(S)");
      save.setMnemonic('S');
      clean = new JMenuItem("清空(C)");
      clean.setMnemonic('C');
      exit = new JMenuItem("退出(X)");
      exit.setMnemonic('X');
      file.setActionCommand("file");
      open.setActionCommand("open");
      open.addActionListener(this);
      save.setActionCommand("save");
      save.addActionListener(this);
      clean.setActionCommand("clean");
      clean.addActionListener(this);
      exit.setActionCommand("exit");
      exit.addActionListener(this);
      this.setJMenuBar(jmb);
      jmb.add(file);
      file.add(open);
      file.add(save);
      file.add(clean);
      file.add(exit);
      this.add(jsp);
      this.setTitle("记事本");
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      this.setVisible(true);
      this.setBounds(300, 200, 400, 300);
   }
   public void actionPerformed(ActionEvent e){
      if (e.getActionCommand().equals("open")){
          JFileChooser jfc = new JFileChooser();
          FileNameExtensionFilter filter = new FileNameExtensionFilter("txt","txt");
          jfc.setDialogTitle("请选择文件");
          jfc.setFileFilter(filter);
          int ret = jfc.showOpenDialog(null);
          if(ret != JFileChooser.APPROVE_OPTION){
              return;
          }
          String filename = jfc.getSelectedFile().getAbsolutePath();
          try {
            BufferedReader in = new BufferedReader(new FileReader(filename));
            String line = null;
            jta.setText("");
            while((line = in.readLine())!=null){
                jta.setText(jta.getText() +line+ System.getProperty("line.separator"));
            }
            in.close();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
      }
        
      if (e.getActionCommand().equals("save")){
          JFileChooser jfc = new JFileChooser();
          jfc.setDialogTitle("另存为");
          // 按默认的方式显示
          jfc.showSaveDialog(null);
          jfc.setVisible(true);
          // 得到用户希望保存的路劲
          String file = jfc.getSelectedFile().getAbsolutePath();
          String str = jta.getText();
          try {
            FileOutputStream fos = new FileOutputStream(file);
            OutputStreamWriter ow = new OutputStreamWriter(fos);
            ow.write(str);
            ow.flush();
            ow.close();
            fos.close();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
      }
      if (e.getActionCommand().equals("clean")){
          jta.setText("");
      }
      if (e.getActionCommand().equals("exit")){
        System.exit(0);
      }
   }
 
}

```
支持,打开文件,保存文件,清空文本内容