[Java] 纯文本查看 复制代码
public class Test1 {
public static void main(String[] args) throws IOException, ClassNotFoundException {
File file = new File("save.txt");
// 判断文件是否存在
if (file.exists()) {
// 存在就显示学生信息
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
System.out.println("**** 学生基本信息 *****");
System.out.println("学号\t姓名\t身份证号\tJava成绩\t数学成绩\t英语成绩");
// 读取学生对象
Student stu = (Student) ois.readObject();
StringBuilder sb = new StringBuilder();
sb.append(stu.getCode()).append("\t").append(stu.getName()).append("\t");
sb.append(stu.getCard()).append("\t").append(stu.getJavaScore()).append("\t");
sb.append(stu.getMathScore()).append("\t").append(stu.getEngScore()).append("\t");
System.out.println(sb.toString());
} else {
//如果不存在,就创建学生对象并写入save.txt文本中
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生学号:");
String code = sc.next();
System.out.println("请输入学生姓名:");
String name = sc.next();
System.out.println("请输入学生身份证号:");
String card = sc.next();
System.out.println("请输入学生Java成绩:");
int javaScore = sc.nextInt();
System.out.println("请输入学生数学成绩:");
int mathScore = sc.nextInt();
System.out.println("请输入学生英语成绩:");
int engScore = sc.nextInt();
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("save.txt"));
oos.writeObject(new Student(code,name,card,javaScore,mathScore,engScore));
oos.close();
}
}
}
public class Student implements Serializable{
//学号
private String code;
//姓名
private String name;
//身份证
private transient String card;
//java成绩
private int javaScore;
//数学成绩
private int mathScore;
//英语成绩
private int engScore;
public Student() {
super();
}
public Student(String code, String name, String card, int javaScore, int mathScore, int engScore) {
super();
this.code = code;
this.name = name;
this.card = card;
this.javaScore = javaScore;
this.mathScore = mathScore;
this.engScore = engScore;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCard() {
return card;
}
public void setCard(String card) {
this.card = card;
}
public int getJavaScore() {
return javaScore;
}
public void setJavaScore(int javaScore) {
this.javaScore = javaScore;
}
public int getMathScore() {
return mathScore;
}
public void setMathScore(int mathScore) {
this.mathScore = mathScore;
}
public int getEngScore() {
return engScore;
}
public void setEngScore(int engScore) {
this.engScore = engScore;
}
}