本文实例为大家分享了Java实现单人信息管理程序的具体代码,供大家参考,具体内容如下
对前一个菜单程序进行扩充,要求增加一个人的完整信息,人的信息包括姓名和年龄。保存后也可以修改,删除,查询此信息。
可以使用对象序列化保存,需要增加文件操作类,专门负责保存和读取文件的内容,并修改操作类,为其增加具体的操作:
<>强文章目录强>
一、增加文件操作类
二,人类
三、操作类
包Chapter_9; 进口. io . *;//此类专门用于保存和读取对象 公开课FileOperate { 私人文件文件=零;//定义一个文件对象 公共FileOperate(路径名字符串){//通过构造方法传递文件路径 这一点。=新文件(路径);//实例化文件对象 } 公共布尔省(对象obj)抛出异常{//可以保存对象 ObjectOutputStream oos=零;//对象输出流 布尔标志=false;//定义操作标志位 尝试{ oos=new ObjectOutputStream(新FileOutputStream (this.file));//实例化对象输出流 oos.writeObject (obj);//保存对象 国旗=true; }捕捉(异常e) { 把e;//有异常抛出 最后}{ 如果(oos !=null){//判断对象输出流对象是否被实例化 oos.close();//不管是否有异常都要关闭 } } 返回国旗; } 公共对象加载()抛出异常{//读取对象 对象obj=零;//接收保存的对象 ObjectInputStream ois=零;//声明对象输入流 尝试{ ois=new ObjectInputStream(新FileInputStream (this.file));//实例化对象输入流 obj=ois.readObject();//读取对象 }捕捉(异常e) { 把e; 最后}{ 如果(ois !=null){//判断输入流是否被实例化 ois.close();//关闭输入流 } } 返回obj; } }
程序中的类的功能就是向程序中写入对象和读取对象,在操作时只需要传入一个路径即可
<强>二,人类强>
进口. io . *; 公共类人实现Serializable{//此类的对象可以被序列化 私人字符串名称; 私人int年龄; 公众人物(字符串名称,int年龄){//通过构造方法设置属性内容 this.name=名称; 这一点。年龄=年龄; } 公共字符串toString () { 返回“姓名:“+ this.name +”;年龄:“+ this.age; } 公共字符串getName () { 返回名称; } 公共空间setName(字符串名称){ this.name=名称; } 公共int getAge () { 返回年龄; } 公共空间setAge (int年龄){ 这一点。年龄=年龄; } }
<强>三、操作类强>
包Chapter_9; 公共类操作{ 公共静态孔隙add(){//增加数据操作 InputData输入=new InputData();//实例化输入数据对象 FileOperate fo=new FileOperate (“D://用法”); 字符串名称=input.getString(“请输入姓名:”); int年龄=input.getInt(“请输入年龄:”、“年龄必须是数字!”); 人每=new人(姓名、年龄);//实例化人对象 尝试{ fo.save(每);//保存对象 }捕捉(异常e) { e.printStackTrace (); } System.out.println(“信息增加成功”); } 公共静态孔隙delete(){//删除数据操作 FileOperate fo=new FileOperate (“D://用法”); 尝试{ fo.save (null);//清除对象 }捕捉(异常e) { e.printStackTrace (); } System.out.println(“信息删除成功!”); } 公共静态空间更新(){//修改数据操作 InputData输入=new InputData();//实例化输入数据对象 FileOperate fo=new FileOperate (“D: \ \用法”); 每人=零; 尝试{/=(人)fo.load();//读取数据 }捕捉(异常e1) { e1.printStackTrace (); } 输入字符串名称=etString(“请输入新的姓名(原姓名:“+ per.getName () +”):”); int年龄=输入。getInt(“请输入是新的年龄(原年龄:”+ per.getAge() +”)”、“年龄必须是数字!”); 每=new人(姓名、年龄);//重新实例化对象 尝试{ fo.save(每);//重新保存对象 }捕捉(异常e) { e.printStackTrace (); } System.out.println(“信息更新成功”); } 公共静态空找到(){ FileOperate fo=new FileOperate (“D: \ \用法”); 每人=零; 尝试{/=(人)fo.load();//读取对象 }捕捉(异常e1) { e1.printStackTrace (); } System.out.println (/); } }Java实现单人信息管理程序