已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
package jfghjp11;import java.io.* ;public class ExecDemo03public static void main(String args) throws Exceptionnew Menu() ;import java.io.File ;import java.io.FileInputStream ;import java.io.FileOutputStream ;import java.io.ObjectInputStream ;import java.io.ObjectOutputStream ;public class FileOperate/ 此类专门用于保存和读取private File file = null ;/ 定义文件对象public FileOperate(String pathName)/ 通过构造传递文件路径this.file = new File(pathName) ;public boolean save(Object obj) throws Exception/ 保存对象ObjectOutputStream oos = null ;/ 对象输出流boolean flag = false ;/ 定义操作标志位tryoos = new ObjectOutputStream(new FileOutputStream(this.file) ;/ 实例化对象输出流oos.writeObject(obj) ;/ 写入对象flag = true ;catch(Exception e)throw e ;/ 有异常交给被调用处处理finallyif(oos!=null)oos.close() ;return flag ;public Object load() throws Exception/ 读取对象Object obj = null ;/ 接收读取的内容ObjectInputStream ois = null ;tryois = new ObjectInputStream(new FileInputStream(this.file) ;/ 实例化对象输入流obj = ois.readObject() ;/ 读取对象catch(Exception e)throw e ;finallyif(ois!=null)ois.close() ;/ 关闭return obj ;import java.io.* ;import java.util.* ;import java.text.* ;public class InputDataprivate BufferedReader buf = null ;public InputData()/ 只要输入数据就要使用此语句this.buf = new BufferedReader(new InputStreamReader(System.in) ;public String getString(String info)/ 得到字符串信息String temp = null ;System.out.print(info) ;/ 打印提示信息trytemp = this.buf.readLine() ;/ 接收数据catch(IOException e)e.printStackTrace() ;return temp ;public int getInt(String info,String err)/ 得到一个整数的输入数据int temp = 0 ;String str = null ;boolean flag = true ;/ 定义一个标记位while(flag)str = this.getString(info) ;/ 接收数据if(str.matches(d+$)/ 判断是否由数字组成temp = Integer.parseInt(str) ;/ 转型flag = false ;/ 结束循环elseSystem.out.println(err) ;/ 打印错误信息return temp ;public float getFloat(String info,String err)/ 得到一个小数的输入数据float temp = 0 ;String str = null ;boolean flag = true ;/ 定义一个标记位while(flag)str = this.getString(info) ;/ 接收数据if(str.matches(d+.?d+$)/ 判断是否由数字组成temp = Float.parseFloat(str) ;/ 转型flag = false ;/ 结束循环elseSystem.out.println(err) ;/ 打印错误信息return temp ;public Date getDate(String info,String err)/ 得到一个小数的输入数据Date temp = null ;String str = null ;boolean flag = true ;/ 定义一个标记位while(flag)str = this.getString(info) ;/ 接收数据if(str.matches(d4-d2-d2$)/ 判断是否由数字组成SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd) ;trytemp = sdf.parse(str) ;/ 将字符串变为Date型数据catch(Exception e)flag = false ;/ 结束循环elseSystem.out.println(err) ;/ 打印错误信息return temp ;public class Menupublic Menu()while(true)this.show() ;/ 无限制调用菜单的显示public void show()System.out.println(= Xxx系统 =) ;System.out.println( 1、增加数据) ;System.out.println( 2、删除数据) ;System.out.println( 3、修改数据) ;System.out.println( 4、查看数据) ;System.out.println( 0、系统退出n) ;InputData input = new InputData() ;int i = input.getInt(请选择:,请输入正确的选项!) ;switch(i)case 1:Operate.add() ;/ 调用增加操作break ;case 2:Operate.delete() ;/ 调用删除操作break ;case 3:Operate.update() ;/ 调用更新操作break ;case 4:Operate.find() ;/ 调用查看操作break ;case 0:System.exit(1) ;/ 系统退出break ;default:System.out.println(请选择正确的操作!) ;public class Operatepublic static void add()/ 增加操作InputData input = new InputData() ;/ 实例化输入数据对象FileOperate fo = new FileOperate(d:test.per) ;String name = input.getString(请输入姓名:) ;int age = input.getInt(请输入年龄: , 年龄必须是数字!) ;Person per = new Person(name,age) ;/ 实例化Person对象tryfo.save(per) ;/ 保存对象catch(Exception e)e.printStackTrace() ;System.out.println(信息增加成功!) ;public static void delete()/ 删除操作FileOperate fo = new FileOperate(d:test.per) ;tryfo.save(null) ;/ 保存对象catch(Exception e)e.printStackTrace() ;System.out.println(信息删除成功!) ;public static void update()/ 更新操作InputData input = new InputData() ;/ 实例化输入数据对象FileOperate fo = new FileOperate(d:test.per) ;Person per = null ;tryper = (Person)fo.load() ;/ 读取对象catch(Exception e)e.printStackTrace() ;String name = input.getString(请输入姓名(原姓名:+per.getName()+):) ;int age = input.getInt(请输入年龄(原年龄:+per.getAge()+): , 年龄必须是数字!) ;per = new Person(name,age) ;/ 实例化Person对象tryfo.save(per) ;/ 保存对象catch(Exception e)e.printStackTrace() ;System.out.println(信息修改成功!) ;public static void find()/ 查看操作FileOperate fo = new FileOperate(d:test.per) ;Person per = null ;tryper = (Person)fo.load() ;/ 读取对象catch(Exception e)e.printStackTrace() ;System.out.println(per) ;package jfghjp11;import java.io.Serializable ;public class Person implements Serializableprivate String name ;/ 定义name属性private int age ;/ 定义age属性public Person(String name,int age) = name; this.age = age ;public String toString()return 姓名: + + ;年
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山东省日照市高职单招综合素质考试题库有答案详细解析
- 2026年酒泉职业技术学院单招职业适应性测试题库带答案详细解析
- 2026年仪征市事业单位公开招聘工作人员74人笔试参考题库及答案解析
- 2026太平洋财产保险阿坝支公司招聘1人笔试备考题库及答案解析
- 2026年安徽省芜湖市高职单招综合素质考试题库有答案详细解析
- 2026西安联邦口腔医院招聘(67人)笔试模拟试题及答案解析
- 2026江苏师范大学招聘专职辅导员22人笔试备考试题及答案解析
- 2026浙江杭州市文三教育集团诚聘小学音乐教师1人(非事业)笔试备考试题及答案解析
- 2026湖南岳阳市岳阳楼区四海揽才教师人才校园招聘20人笔试参考题库及答案解析
- 2026福建省名厝建设工程有限公司招聘5人笔试备考试题及答案解析
- 2026甘肃天水市秦州区选聘大学生村文书50人笔试模拟试题及答案解析
- 2026杭州市市级机关事业单位编外招聘148人考试备考试题及答案解析
- 河南省驻马店市(2025年)公共基础辅警考试笔试题库及答案
- 北京市2024北京市教师发展中心招聘1人笔试历年参考题库典型考点附带答案详解
- 《数智时代下的供应链管理:理论与实践》课件 第1-7章 理解供应链- 供应链经典的生产计划
- 树立正确的就业观分析课件
- 2022年安徽警官职业学院职业适应性测试题库及答案解析
- (完整版)高中化学实验教学进度表
- 崩塌地质灾害防治
- 小型雕刻机结构设计说明书
- 熔体过热度对雾化过程的影响
评论
0/150
提交评论