Java实现单人信息管理程序

本文实例为大家分享了Java实现单人信息管理程序的具体代码,供大家参考,具体内容如下

对前一个菜单程序进行扩充,要求增加一个人的完整信息,人的信息包括姓名和年龄。保存后也可以修改、删除、查询此信息。<

可以使用对象序列化保存,需要增加文件操作类,专门负责保存和读取文件的内容,并修改 Operate 类,为其增加具体的操作:

文章目录

一、增加文件操作类
二、 Person 类
三、操作类

一、增加文件操作类

package Chapter_9;

import java.io.*;

//此类专门用于保存和读取对象
public class FileOperate {
  private File file = null;//定义一个文件对象
  public FileOperate(String pathName){//通过构造方法传递文件路径
    this.file = new File(pathName);//实例化File对象
  }
  public boolean save(Object obj) throws Exception{//可以保存对象
    ObjectOutputStream oos = null;//对象输出流
    boolean flag = false;//定义操作标志位
    try{
      oos = new ObjectOutputStream(new FileOutputStream(this.file));//实例化对象输出流
      oos.writeObject(obj);//保存对象
      flag = true;
    }catch (Exception e){
      throw e;//有异常抛出
    }finally {
      if (oos != null){//判断对象输出流对象是否被实例化
        oos.close();//不管是否有异常都要关闭
      }
    }
    return flag;
  }
  public Object load()throws Exception{//读取对象
    Object obj = null;//接收保存的对象
    ObjectInputStream ois = null;//声明对象输入流
    try{
      ois = new ObjectInputStream(new FileInputStream(this.file));//实例化对象输入流
      obj = ois.readObject();//读取对象
    }catch (Exception e){
      throw e;
    }finally {
      if (ois !=null){//判断输入流是否被实例化
        ois.close();//关闭输入流
      }
    }
    return obj;
  }

}

程序中的类的功能就是向程序中写入对象和读取对象,在操作时只需要传入一个路径即可

二、 Person 类

import java.io.*;

public class Person implements Serializable {//此类的对象可以被序列化
  private String name;
  private int age;
  public Person(String name,int age){//通过构造方法设置属性内容
    this.name = name;
    this.age = age;
  }
  public String toString(){
    return "姓名:" + this.name + "; 年龄:" + this.age;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }
}

三、操作类

package Chapter_9;

public class Operate {
  public static void add(){//增加数据操作
    InputData input = new InputData();//实例化输入数据对象
    FileOperate fo = new FileOperate("D://test.txt");
    String name = input.getString("请输入姓名:");
    int age = input.getInt("请输入年龄:","年龄必须是数字!");
    Person per = new Person(name,age);//实例化 Person 对象
    try {
      fo.save(per);//保存对象
    }catch (Exception e){
      e.printStackTrace();
    }
    System.out.println("信息增加成功");
  }
  public static void delete(){//删除数据操作
    FileOperate fo = new FileOperate("D://test.txt");
    try{
      fo.save(null);//清除对象
    }catch (Exception e){
      e.printStackTrace();
    }
    System.out.println("信息删除成功!");
  }
  public static void update(){//修改数据操作
    InputData input = new InputData();//实例化输入数据对象
    FileOperate fo = new FileOperate("D:\\test.txt");
    Person per = null;
    try{
      per = (Person)fo.load();//读取数据
    }catch (Exception e1){
      e1.printStackTrace();
    }
    String name = input.getString("请输入新的姓名(原姓名:" + per.getName() + "):");
    int age = input.getInt("请输入是新的年龄(原年龄:" +
        per.getAge() + ")","年龄必须是数字!");
    per = new Person(name,age);//重新实例化对象
    try{
      fo.save(per);//重新保存对象
    }catch (Exception e){
      e.printStackTrace();
    }
    System.out.println("信息更新成功");
  }
  public static void find(){
    FileOperate fo = new FileOperate("D:\\test.txt");
    Person per = null;
    try{
      per = (Person)fo.load();//读取对象
    }catch (Exception e1){
      e1.printStackTrace();
    }
    System.out.println(per);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java+SQL server2008学生信息管理系统源码

    本文实例为大家分享了java学生信息管理系统源码的具体代码,供大家参考,具体内容如下 1.StudetManage类(主界面) package com.sms3; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class StudentManage extends JFrame implements ActionListener { /** * @param args */ public stat

  • java(swing)+ mysql实现学生信息管理系统源码

    本文实例为大家分享了java实现学生信息管理系统源码,供大家参考,具体内容如下 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import

  • java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

  • javaWeb实现学生信息管理系统

    本文为大家分享了javaWeb实现学生信息管理系统,供大家参考,具体内容如下 初始版 初始版是没有加分页的.因为没怎么学过前端,界面很丑陋.主要技术:JSP,JavaBean,servlet,JDBC主要页面如下: 登录页面 主页 添加学生 查看所有学生 查询学生 工程目录 数据库 两个表,user表和student表.为了使用DBUtils工具,一定要注意数据库表的属性的命名和JavaBean的get(),set() 方法的匹配.比如t_user表里的uname,在JavaBean中是:pri

  • Java+MySQL实现学生信息管理系统源码

    基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家.(由于篇幅原因,代码未全部列出,如有需要留下邮箱) 鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git 1. 开发环境:jdk7+MySQL5+win7 代码结构:model-dao-view 2. 数据库设计--建库建表语句: CREATE DATABASE student; DROP

  • java联系人管理系统简单设计

    本文实例为大家分享了java联系人管理系统毕业设计,供大家参考,具体内容如下 要求:  请使用XML保存数据,完成一个联系人管理系统.       用户必须经过认证登录后方可以使用系统.       注册.增加.删除.查看联系人功能.        分模块进行设计. 两层框架-用户交互层,Dao层.             其他支持层-数据封装层.             工具类-加密,工厂Bean. 开发步骤: 第一步:设计数据结构-XML. 第一步:设计数据结构-XML. 第三步:准备资源并

  • Java实现单人信息管理程序

    本文实例为大家分享了Java实现单人信息管理程序的具体代码,供大家参考,具体内容如下 对前一个菜单程序进行扩充,要求增加一个人的完整信息,人的信息包括姓名和年龄.保存后也可以修改.删除.查询此信息.< 可以使用对象序列化保存,需要增加文件操作类,专门负责保存和读取文件的内容,并修改 Operate 类,为其增加具体的操作: 文章目录 一.增加文件操作类 二. Person 类 三.操作类 一.增加文件操作类 package Chapter_9; import java.io.*; //此类专门用

  • java实现科研信息管理系统

    一.前言 本学期学习了JAVA语言,在学期的结束,写一个有操作界面,与数据库关联的管理系统,用来巩固自己本学习所学的知识. 用到的知识:JAVA基础,JAVA界面设计(GUI),Oracle数据库(需要掌握数据库的基本操作语句),链接数据库. 使用的开发工具:MyEclipse Professional 2014 二.设计 我们管理的属性有:项目编号,项目名称,参与人员,负责人,项目开始时间,结束时间.科研项目系统主要有四个功能,对科研项目的增加.删除.修改.查询.以及为增加系统安全性所设计的登

  • Java将Exception信息转为String字符串的方法

    一.前言 在java中,异常机制是非常有用的构成部分,异常信息对于查找错误来说是必不可少至关重要的信息,因此我们希望在发生错误的时候先看到捕捉到底异常信息.然而,通常的异常信息的输出使用e.printStackTrace(),这样异常信息会被输出到控制台中.但有的时候我们需要异常中的部分信息,需要他是一个可以处理的String类型. 二.解决方法 1.使用log4j 当我们使用log4j日志来记录运行信息时,可以直接使用下述方式: logger.error("异常信息:",e); 这样

  • C语言实现学生信息管理程序

    本文实例为大家分享了C语言实现学生信息管理程序的具体代码,供大家参考,具体内容如下 目前只有5个功能 1. 增加学生信息 2. 删除学生信息 3. 查询某学生信息 4. 列出所有学生信息 5. 按出生日期先后输出学生信息 代码: #include<stdio.h> #include<stdlib.h> #include<string.h> struct StuInfo//学生信息 { char cName[10]; char cSex; char cNumber[6];

  • java实现客户信息管理系统

    本文实例为大家分享了java实现客户信息管理系统的具体代码,供大家参考,具体内容如下 一.CMUtility工具类 讲不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功能实现细节. 代码如下: package com.p2.util; import java.util.*; /** * 工具类 * 讲不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功 * 能实现细节. * **/ public class CMUtility { priva

  • Python开发毕设案例之桌面学生信息管理程序

    下半年毕业季,各种毕业设计纷涌而至,虽然学校教了Python,但是我相信各位肯定没有认真学,做作业就懵逼的那种~ 所以我都给大家准备好了!各种版本学生管理系统设计! 我这个人比较耿直,喜欢直接上代码,不知道你们喜不喜欢,反正我很喜欢

  • Java实现学生信息管理系统(使用数据库)

    Java基础—学生信息管理系统(使用数据库),供大家参考,具体内容如下 前一段时间写了学生信息管理系统(使用ArrayList),今天再来更新一下使用数据库的管理系统,总体上来说要比用ArrayList简便一些,同时输入的数据也能存储起来. 这次程序是在上一篇的基础上进行修改的,所以结构上来看十分相似. 在写程序之前,要先在MySQL上建立Student Info表. create table Student (     ID varchar(50) primary key not null,

  • java实现人员信息管理系统

    本文实例为大家分享了java实现人员信息管理系统的具体代码,供大家参考,具体内容如下 实现增删改查. java入门的练手小程序 1.Person类 package p1;   public class Person {     // Person属性     private int num;     private String name;     private String sex;     private int salary;       public Person(int num, S

  • java实现学生信息录入界面

    本文实例为大家分享了java实现学生信息录入界面的具体代码,供大家参考,具体内容如下 按如下要求完成编程: 1.创建一个学生信息录入界面,学生有学号.姓名.年龄.班级和成绩信息,界面中包含“确定”和“重置”按钮. 2.实现事件处理,单击“确定”按钮将学生信息封装到对象中,并通过输出对象将学生信息显示在终端控制台上:点击“重置”按钮情况界面中用户输入的信息. package work; import java.awt.Button; import java.awt.Frame; import ja

  • Java编译错误信息提示java.lang.ExceptionInInitializer解决

    错误提示 错误提示信息为: Error:java: java.lang.ExceptionInInitializerError com.sun.tools.javac.code.TypeTags 如果使用 Maven 错误信息是一样的. [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] -----------------------

随机推荐