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

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 用verilog实现tanh函数和softplus函数
  • ¥15 Hadoop集群部署启动Hadoop时碰到问题
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 QTableWidget重绘程序崩溃
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站