之前用ArrayList做过简易管理学生管理系统。实现原理基本差不多。从键盘输入到程序,读出来赋给两个变量(姓名和学号),写对象(Object对象流)到文件........
具体实现如下:
package cn.SystemStudent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class Student implements Serializable{
String name;
int number;
/**与构造方法有相同作用
public Student(String name,int number){
this.name=name;
this.number=number;
}*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
//static File dir = new File("f:/StudentTest/");//文件目录
private static final String STUDENT_STORE_DIR = "E://student_store_dir/";
/**
* 添加学生
* 原理:调用键盘输入方法,把学生属性写进程序,再从程序把属性输出到文件
*/
public static void addStudent(){
Student student = new Student();//实例化一个学生对象,
System.out.println("请输入学生姓名:");
student.name=FileStudentUtil.getStringKeyBoard();
System.out.println("您输入的学生姓名是:"+student.name);
System.out.println("请输入学生学号:");
student.number=FileStudentUtil.getintKeyBoard();
System.out.println("您输入的学生学号是:"+student.number);
File file= new File(STUDENT_STORE_DIR,student.name);//目录下的文件名(学生姓名)
FileOutputStream fos = null;
ObjectOutputStream osr = null;
try {
fos = new FileOutputStream(file);
osr = new ObjectOutputStream(fos);
osr.writeObject(student);//把对象写进文件
} c