用Java编写有读取和保存文本功能的记事本程序

import java.awt.*;
import java.awt.event.*;import javax.naming.InitialContext;
import javax.swing.*;
import javax.swing.filechooser.*;
import java.io.*;
public class NO_5_Text extends JFrame implements ActionListener{JFileChooser file;//声明一个文件对话框JMenu menu;//声明菜单条JMenuBar menuBar;//声明一个菜单按钮JMenuItem save,open;//声明两个子菜单按钮JTextArea text;//建立一个文本区来输入多行文本FileReader fileReader;//建立文件字符输入流的对象FileWriter fileWriter;//建立文件字符输出流的对象BufferedReader in;//建立缓冲输入流对象BufferedWriter out;//建立缓冲输出流对象public NO_5_Text(){//设置窗体init();setBounds(100, 100, 900, 700);//设置窗体的起始位置和初始大小setVisible(true);//设置窗体可见setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭方式,关闭窗体结束运行}void init(){text=new JTextArea(10,10);//构造一个指定行数列数的文本区text.setFont(new Font("黑体",Font.PLAIN,24));add(new JScrollPane(text),BorderLayout.CENTER);//设置菜单栏menuBar =new JMenuBar();menu=new JMenu("记事本");save=new JMenuItem("保存文件");open=new JMenuItem("打开文件");save.addActionListener(this);//为"保存文件"添加事件监听open.addActionListener(this);//为"打开文件"添加事件监听menu.add(save);menu.add(open);menuBar.add(menu);setJMenuBar(menuBar);file=new JFileChooser();//文件对话框FileNameExtensionFilter filter=new FileNameExtensionFilter("java文件", "java");//设置文件对话框中的文件是扩展名.java的java文件file.setFileFilter(filter);//通过该方法设置对话框默认打开或显示的类型为该参数的java类型}public void actionPerformed(ActionEvent e) {if(e.getSource()==save){int state = file.showSaveDialog(this);//该方法提供保存文件的界面,返回"打开"或"取消"的常量值if(state==JFileChooser.APPROVE_OPTION)//点击"打开"{try//创建输出流{File dir=file.getCurrentDirectory();//声明一个File对象来获取当前进程的当前目录String name=file.getSelectedFile().getName();//获取当前选择的文件名字File file2=new File(dir,name);//声明新的File对象来获取当前目录选择的文件信息fileWriter=new FileWriter(file2);out=new BufferedWriter(fileWriter);out.write(text.getText());//getText()返回文本框中的文本,将数据写入目的地out.close();//关闭输出流,冲洗缓冲区fileWriter.close();}catch (IOException exp) {//若创建缓冲输出流时出现错误,用IO异常对象来表示出错信号,检测并处理异常}}}else if (e.getSource()==open){int state =file.showOpenDialog(this);//该方法提供打开文件的界面,返回"保存"或"取消"的常量值if(state==JFileChooser.APPROVE_OPTION)//点击"保存"{text.setText(null);//讲文本框清空try{File dir=file.getCurrentDirectory();String name=file.getSelectedFile().getName();File file2=new File(dir,name);fileReader=new FileReader(file2);in=new BufferedReader(fileReader);String string=null;while((string=in.readLine())!=null)//按行读取文件{text.append(string+"\n");//在选定元素末尾添加"\n"}in.close();fileReader.close();}catch (IOException exp) {}}}}public static void main(String[] args) {NO_5_Text no_5_Text=new NO_5_Text();}
}

用Java编写有读取和保存文本功能的记事本程序相关推荐

  1. JAVA——实现各国中英文名称互译功能的查询程序

    用JAVA实现各国中英文名称互译功能的查询程序 创建一个字典文件,其内容为各个国家的中英文对照表,以查询国名为目的,对各个国家的国名进行中英互译. 1.功能: 输入"中国"则在屏上 ...

  2. Java编写ATM取款机,实现各项功能

    需求:用户可以开户,销户,查询,存款,取款,退出,修改密码,转账等功能 首先需要编写一个账户类 Account,用来封装用户信息,账号,姓名,密码,余额,单次取款限额等 其次,因为不知道有多少用户,所 ...

  3. java编写类骑士游历_java课程设计骑士游历程序的开发

    java课程设计骑士游历程序的开发 JAVA程序设计 课程设计报告 课 题: 骑士游历程序的开发 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间: 2013.06.10 评阅意见: ...

  4. java求长方形面积_求一个,用Java编写一个求长方形的面积和周长的程序,(面向对象)....

    满意答案 daikuanii 推荐于 2017.11.23 采纳率:50%    等级:12 已帮助:4607人 //看看我这个程序把 比较符合面向对象的思想,告诉搂住一声,尽量把一些程序写尽方法里, ...

  5. 用Java编写的双色球摇奖系统

    第一步:这个是我们的双色球主类,包括界面设计等! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...

  6. 简易日历记事本源码(java+android端),含日历和日志记事本两部分

    DuangCalender 简易日历记事本(java+android端) 完整代码下载地址:简易日历记事本源码(java+android端) 1.本设计题目的主要内容 JAVA: duang日历记事本 ...

  7. java记事本实践意义,Java记事本程序课程设计报告

    Java记事本程序课程设计报告 课程设计课程设计报告书报告书 课程名称课程名称 面向对象课程设计面向对象课程设计 设计题目设计题目 记事本程序记事本程序 专业班级专业班级 学学 号号 姓姓 名名 目录 ...

  8. java 只显示文本文件_Java设计并实现一个应用程序,能够读取一个文本文件中的内容并显示,同时能够计算出文本中的行数。...

    展开全部 java编写显示文本的应用程序, 需要用到图形界面GUI编程技术. 步骤一: 需要搭建一个整体的外观32313133353236313431303231363533e4b893e5b19e3 ...

  9. java读取ppt内容_Java 读取/获取PPT文本

    import com.spire.presentation.*; import java.io.FileWriter; public class ExtractText { public static ...

最新文章

  1. 一个 零差评的 Python 内置库
  2. wxWidgets:调试
  3. python字典的键有什么要求_在Python中使用范围作为字典键,我有什么选择?
  4. 智能合约语言 传统编程语言 异同
  5. c++函数如何返回一个vector_如何将Python的一个函数进行超时限制
  6. javaagent的优势
  7. Multisim 14.1 安装步骤
  8. Request header field x-token is not allowed by Access-Control-Allow-Headers in preflight response.
  9. USB大容量存储设备浅析
  10. 多层板的板层布局和线宽的设置(记录)
  11. 网页短链接实现原理探究
  12. ESD 格式系统镜像的安装方法
  13. handler中的handler.removecallbacks和handler.removemessages的用法
  14. 70行python代码实现qq视频加特效效果
  15. Node.js:时间处理库:moment.js用法
  16. Signal ()函数详细介绍 Linux函数
  17. 三维数学基础2:矩阵、齐次坐标
  18. 您需要对象吗,我帮你new一个吧?
  19. 【webrtc】fdk-aac 编解码库cmake和 gn编译
  20. 薛家计算机培训,薛家ug编程网络培训

热门文章

  1. Windows 8之失败,电脑作为娱乐设备VS工作工具
  2. 网友诉苦:app体验差就算了!咨询客服被骂“滚”!这么霸气?
  3. 工业一体机采用高清电容触摸屏实现人机交互
  4. 【有利可图网】PS教程:制作翘边立体剪纸效果
  5. Java学习总结-持续更新
  6. 创建第一个 Rails 程序(使用mysql)
  7. 02、MATLAB实现身份证号码的鉴别
  8. 2021转行做短视频运营可行吗
  9. 自媒体怎么才能获得收益,如何做好自媒体
  10. 记录java人生,分享快乐生活