创建窗体,在窗体上添加三个按钮,“读文件”,“写文件”,“清空”。
要求:
点击“读文件”按钮读取文件的内容,并显示在文本域中;
点击“写文件”按钮将 中
点击“清空”按钮,清楚文本域中的内容。
输入答案
java读写文件并且可以清空
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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); } } }
```
支持,打开文件,保存文件,清空文本内容本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥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答疑 关于海上风电的爬坡事件检测