power️️! 2021-10-25 19:22 采纳率: 62.5%
浏览 36
已结题

java读写文件并且可以清空

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

  • 写回答

1条回答 默认 最新

  • 穆瑾轩 2021-10-26 01:50
    关注
    
    
    ```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);
          }
       }
     
    }
    
    

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月27日
  • 已采纳回答 11月27日
  • 创建了问题 10月25日

悬赏问题

  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测